/* Premium Category Gallery 1.1 — all rules scoped for Elementor/Divi compatibility. */
.pcg-gallery{
  --pcg-accent:#b39665;--pcg-cols:4;--pcg-tablet:2;--pcg-mobile:2;--pcg-ratio:10 / 7;
  --pcg-bg:#fbfaf8;--pcg-panel:#fff;--pcg-title:#24211e;--pcg-text:#403c36;
  --pcg-muted:#777167;--pcg-border:#e7e1d8;--pcg-soft:#f3efe9;
  display:block;box-sizing:border-box;container-type:inline-size;width:100%;max-width:100%;
  margin:0;overflow:hidden;background:var(--pcg-bg);color:var(--pcg-title);
  border:1px solid var(--pcg-border);border-radius:12px;
  box-shadow:0 18px 65px rgba(36,30,22,.055);font-family:inherit;
}
.pcg-gallery[data-theme="onyx"]{
  --pcg-bg:#16191b;--pcg-panel:#202426;--pcg-title:#f5f0e7;--pcg-text:#eee6da;
  --pcg-muted:#c7beb2;--pcg-border:#393b3c;--pcg-soft:#292b2a;
  box-shadow:0 22px 60px rgba(0,0,0,.16);
}
.pcg-gallery,.pcg-gallery *{box-sizing:border-box}
.pcg-gallery button{font-family:inherit;letter-spacing:normal;text-transform:none;text-decoration:none}
.pcg-gallery button:focus-visible{outline:2px solid var(--pcg-accent)!important;outline-offset:3px!important}
.pcg-hero{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:35px clamp(18px,4vw,50px) 29px;border-bottom:1px solid var(--pcg-border);background:var(--pcg-panel)}
.pcg-hero-copy{min-width:0}
.pcg-gallery .pcg-eyebrow{margin:0 0 8px;color:var(--pcg-accent);font-size:11px;font-weight:700;letter-spacing:.24em;line-height:1.45;text-transform:uppercase}
.pcg-gallery .pcg-heading{margin:0;color:var(--pcg-title);font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,3vw,37px);line-height:1.22;font-weight:400;letter-spacing:-.025em}
.pcg-hero-mark{display:flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;border:1px solid var(--pcg-border);border-radius:50%;opacity:.85}
.pcg-hero-mark span{display:block;width:19px;height:19px;border:1px solid var(--pcg-accent);transform:rotate(45deg);position:relative}
.pcg-hero-mark span:after{content:'';position:absolute;inset:4px;border:1px solid var(--pcg-accent)}
.pcg-navigation{padding:28px clamp(14px,3.4vw,42px) 23px;border-bottom:1px solid var(--pcg-border);background:var(--pcg-panel)}
.pcg-nav-heading{margin:0 0 13px;color:var(--pcg-muted);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
/* No slider, no horizontal overflow and no arrow controls. Categories wrap into visible rows. */
.pcg-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,154px),1fr));gap:9px;width:100%;max-width:100%;overflow:visible;scrollbar-width:none}
.pcg-gallery .pcg-tab{
  appearance:none;position:relative;display:flex;align-items:center;justify-content:center;white-space:normal;
  width:100%;min-width:0;min-height:53px;padding:12px 10px;margin:0;
  border:1px solid var(--pcg-border);border-radius:6px;background:var(--pcg-bg);box-shadow:none;
  font-size:13px;line-height:1.4;font-weight:550;letter-spacing:.01em;color:var(--pcg-text);
  cursor:pointer;text-align:center;overflow-wrap:anywhere;transition:background .22s,border-color .22s,box-shadow .22s,transform .22s,color .22s;
}
.pcg-gallery .pcg-tab:hover{background:var(--pcg-soft);border-color:var(--pcg-accent);transform:translateY(-1px)}
.pcg-gallery .pcg-tab.is-active{background:var(--pcg-soft);border-color:var(--pcg-accent);box-shadow:inset 0 -3px var(--pcg-accent);color:var(--pcg-title);font-weight:700}
.pcg-subcategories:empty{display:none}
.pcg-subgroup{margin-top:22px;padding-top:20px;border-top:1px solid var(--pcg-border)}
.pcg-gallery .pcg-subgroup[hidden]{display:none!important}
.pcg-subheading{display:flex;gap:9px;align-items:center;margin-bottom:12px;color:var(--pcg-muted);font-size:11px;line-height:1.4;letter-spacing:.075em;font-weight:650;text-transform:uppercase}
.pcg-subheading-line{display:inline-block;flex:0 0 18px;height:1px;background:var(--pcg-accent)}
.pcg-subtabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:100%;overflow:visible}
.pcg-gallery .pcg-subtab{
  appearance:none;min-height:39px;max-width:100%;width:auto;flex:0 1 auto;margin:0;padding:9px 15px;
  border:1px solid var(--pcg-border);border-radius:99px;background:transparent;color:var(--pcg-text);
  box-shadow:none;font-size:12px;line-height:1.4;font-weight:550;white-space:normal;overflow-wrap:anywhere;
  cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.pcg-gallery .pcg-subtab:hover{border-color:var(--pcg-accent);color:var(--pcg-title);transform:translateY(-1px)}
.pcg-gallery .pcg-subtab.is-active{background:var(--pcg-title);color:var(--pcg-bg);border-color:var(--pcg-title);font-weight:700}
.pcg-body{position:relative;min-height:150px;padding:26px clamp(14px,3.4vw,42px) 36px}
.pcg-section-top{display:flex;align-items:center;gap:15px;margin:0 0 24px}
.pcg-current-label{flex:0 0 auto;font-size:12px;letter-spacing:.02em;color:var(--pcg-muted)}
.pcg-current-label strong{color:var(--pcg-title);font-weight:700}
.pcg-section-ornament{height:1px;flex:1 1 auto;background:var(--pcg-border)}
.pcg-items{display:grid;grid-template-columns:repeat(var(--pcg-cols),minmax(0,1fr));gap:31px clamp(15px,2.2vw,30px);align-items:start}
.pcg-item{margin:0;padding:0;min-width:0;border:0;background:none;animation:pcg-enter .25s ease both}
.pcg-gallery .pcg-image-trigger,.pcg-gallery .pcg-image-static{position:relative;display:block;width:100%;height:auto;aspect-ratio:var(--pcg-ratio);margin:0;padding:0;overflow:hidden;background:var(--pcg-soft);border:1px solid var(--pcg-border);border-radius:5px;box-shadow:none}
.pcg-gallery .pcg-image-trigger{cursor:zoom-in}
.pcg-gallery .pcg-image-static{cursor:default}
.pcg-gallery .pcg-picture{display:block;width:100%;height:100%;aspect-ratio:var(--pcg-ratio);object-fit:cover;object-position:center;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;transform:scale(1);transition:transform .4s ease,filter .4s ease}
.pcg-gallery[style*="--pcg-ratio:auto"] .pcg-image-trigger,.pcg-gallery[style*="--pcg-ratio:auto"] .pcg-image-static{aspect-ratio:auto}
.pcg-gallery[style*="--pcg-ratio:auto"] .pcg-picture{height:auto;aspect-ratio:auto}
.pcg-gallery .pcg-image-trigger:hover .pcg-picture,.pcg-gallery .pcg-image-trigger:focus-visible .pcg-picture{transform:scale(1.055);filter:brightness(.88)}
.pcg-zoom{pointer-events:none;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}
.pcg-zoom:after{content:'+';display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:var(--pcg-accent);color:#fff;font-size:29px;font-family:Georgia,serif;font-weight:400;line-height:1;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.pcg-gallery .pcg-image-trigger:hover .pcg-zoom,.pcg-gallery .pcg-image-trigger:focus-visible .pcg-zoom{opacity:1}
.pcg-caption{padding-top:14px;margin:0;color:var(--pcg-title);font-size:15px;line-height:1.45;font-weight:600;overflow-wrap:anywhere;letter-spacing:.004em}
.pcg-caption:before{content:'';display:inline-block;vertical-align:middle;width:13px;height:1px;background:var(--pcg-accent);margin-right:10px}
.pcg-load-wrap{text-align:center}
.pcg-gallery .pcg-load-more{display:inline-flex;align-items:center;justify-content:center;min-height:45px;margin:32px auto 0;padding:11px 27px;border:1px solid var(--pcg-accent);border-radius:5px;box-shadow:none;background:transparent;color:var(--pcg-title);font-size:12px;font-weight:700;letter-spacing:.065em;cursor:pointer;transition:background .2s,transform .2s}
.pcg-gallery .pcg-load-more:hover{background:var(--pcg-soft);transform:translateY(-1px)}
.pcg-gallery .pcg-load-more[hidden]{display:none!important}
.pcg-gallery .pcg-load-more:disabled{opacity:.55;cursor:progress}
.pcg-notice{margin:12px 0 0;font-size:12px;color:var(--pcg-muted);text-align:center}
.pcg-notice:empty{display:none}
.pcg-empty{grid-column:1 / -1;padding:48px 12px;margin:0;color:var(--pcg-muted);font-size:14px;text-align:center}
.pcg-skeleton{grid-column:1/-1;display:grid;grid-template-columns:repeat(var(--pcg-cols),minmax(0,1fr));gap:24px}
.pcg-skeleton span{display:block;aspect-ratio:var(--pcg-ratio);border-radius:5px;background:linear-gradient(95deg,var(--pcg-soft) 15%,var(--pcg-panel) 50%,var(--pcg-soft) 85%);background-size:200% 100%;animation:pcg-shimmer 1.35s ease-in-out infinite}
@keyframes pcg-shimmer{to{background-position-x:-200%}}
@keyframes pcg-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/* Container-responsive even when the page builder uses a narrow content column. */
@container (max-width:840px){.pcg-items,.pcg-skeleton{grid-template-columns:repeat(var(--pcg-tablet),minmax(0,1fr))}}
@container (max-width:520px){.pcg-items,.pcg-skeleton{grid-template-columns:repeat(var(--pcg-mobile),minmax(0,1fr));column-gap:12px;row-gap:20px}.pcg-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.pcg-gallery .pcg-tab{font-size:12px;padding:10px 7px;min-height:47px}.pcg-gallery .pcg-subtab{padding:8px 12px;font-size:11px}.pcg-navigation{padding:19px 14px}.pcg-body{padding:18px 14px 26px}.pcg-caption{font-size:13px;padding-top:10px}.pcg-subgroup{margin-top:17px;padding-top:16px}.pcg-section-top{margin-bottom:18px}.pcg-hero{padding:21px 17px}.pcg-hero-mark{width:40px;height:40px;flex-basis:40px}}
@media(max-width:960px){.pcg-items,.pcg-skeleton{grid-template-columns:repeat(var(--pcg-tablet),minmax(0,1fr))}}
@media(max-width:600px){.pcg-items,.pcg-skeleton{grid-template-columns:repeat(var(--pcg-mobile),minmax(0,1fr));gap:20px 12px}.pcg-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.pcg-gallery .pcg-tab{min-height:47px;font-size:12px}.pcg-hero{padding:21px 17px}.pcg-navigation{padding:19px 14px}.pcg-body{padding:18px 14px 26px}.pcg-caption{font-size:13px;padding-top:10px}.pcg-section-top{margin-bottom:18px}}
.pcg-modal-open{overflow:hidden!important}
.pcg-lightbox{display:none;position:fixed;inset:0;z-index:2147483000;align-items:center;justify-content:center;padding:62px 58px;background:rgba(10,12,14,.96);color:#fff;backdrop-filter:blur(5px)}
.pcg-lightbox.is-open{display:flex}
.pcg-lightbox-inner{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%;max-width:1500px}
.pcg-lb-image{display:block;object-fit:contain;max-width:100%;max-height:calc(100% - 34px);width:auto;height:auto;box-shadow:0 14px 55px rgba(0,0,0,.25)}
.pcg-lightbox button{position:absolute;display:grid;place-items:center;width:48px;height:48px;margin:0;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;box-shadow:none;cursor:pointer}
.pcg-lightbox button:hover{background:rgba(179,150,101,.7)}
.pcg-lightbox button:focus-visible{outline:2px solid white;outline-offset:3px}
.pcg-lightbox .pcg-lb-close{width:44px;height:44px;right:-45px;top:-52px;font-size:32px;line-height:1}
.pcg-lightbox .pcg-lb-prev,.pcg-lightbox .pcg-lb-next{top:50%;transform:translateY(-50%);font-size:22px}
.pcg-lightbox .pcg-lb-prev{left:-52px}.pcg-lightbox .pcg-lb-next{right:-52px}
.pcg-lb-title{position:absolute;bottom:-32px;left:0;right:0;margin:0;text-align:center;font-size:14px;color:#eee8e0;line-height:1.4}
@media(max-width:640px){.pcg-lightbox{padding:65px 12px 72px}.pcg-lightbox .pcg-lb-close{right:2px;top:-48px}.pcg-lightbox .pcg-lb-prev,.pcg-lightbox .pcg-lb-next{width:38px;height:38px;top:auto;bottom:-52px;transform:none}.pcg-lightbox .pcg-lb-prev{left:10px}.pcg-lightbox .pcg-lb-next{right:10px}.pcg-lb-title{bottom:-42px;left:55px;right:55px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.pcg-gallery *, .pcg-lightbox *{animation:none!important;transition:none!important}}
