.pld-cpt-pro-grid .pld-pro-card{position:relative}.pld-meta-pills{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}.pld-meta-pill{display:inline-flex;gap:.25rem;align-items:center;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:.25rem .65rem;font-size:.85rem;line-height:1.3;background:#fff}.pld-pro-gallery{display:grid;gap:1rem}.pld-gallery-columns-1{grid-template-columns:1fr}.pld-gallery-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pld-gallery-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pld-gallery-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pld-gallery-columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}.pld-gallery-columns-6{grid-template-columns:repeat(6,minmax(0,1fr))}.pld-pro-gallery-item{display:block;overflow:hidden;border-radius:14px;text-decoration:none}.pld-pro-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}.pld-gallery-caption{display:block;font-size:.85rem;margin-top:.35rem}.pld-before-after-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pld-before-after-wrap img{display:block;width:100%;height:auto;border-radius:14px}.pld-before-after-wrap span{display:inline-block;font-weight:700;margin-bottom:.5rem}.pld-ba-slider{position:relative;overflow:hidden;border-radius:16px;line-height:0;background:#111}.pld-ba-slider img{display:block;width:100%;height:auto;max-width:none}.pld-ba-img{position:relative}.pld-ba-after{width:100%}.pld-ba-before{position:absolute;inset:0 auto 0 0;overflow:hidden;border-right:3px solid #fff}.pld-ba-before img{height:100%;object-fit:cover}.pld-ba-img span{position:absolute;top:12px;background:rgba(0,0,0,.62);color:#fff;font-size:.78rem;line-height:1;padding:.45rem .6rem;border-radius:999px;z-index:3}.pld-ba-before span{left:12px}.pld-ba-after span{right:12px}.pld-ba-range{position:absolute;left:0;right:0;top:50%;width:100%;transform:translateY(-50%);z-index:5;appearance:none;background:transparent}.pld-ba-range::-webkit-slider-thumb{appearance:none;width:26px;height:26px;border-radius:999px;background:#fff;border:2px solid rgba(0,0,0,.45);cursor:ew-resize}.pld-ba-range::-moz-range-thumb{width:26px;height:26px;border-radius:999px;background:#fff;border:2px solid rgba(0,0,0,.45);cursor:ew-resize}.pld-cpt-filters{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin:0 0 1.25rem}.pld-cpt-filters input,.pld-cpt-filters select{min-height:42px;border:1px solid rgba(0,0,0,.18);border-radius:10px;padding:.5rem .75rem}.pld-cpt-filters button{min-height:42px;border:0;border-radius:10px;padding:.5rem 1rem;cursor:pointer}.pld-cpt-pagination{display:flex;gap:.35rem;justify-content:center;align-items:center;margin:2rem 0}.pld-cpt-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;min-height:2.25rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;text-decoration:none}.pld-cpt-pagination .current{font-weight:700}.pld-admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.pld-pro-admin textarea.code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media(max-width:767px){.pld-gallery-columns-2,.pld-gallery-columns-3,.pld-gallery-columns-4,.pld-gallery-columns-5,.pld-gallery-columns-6,.pld-before-after-wrap{grid-template-columns:1fr}.pld-cpt-filters{display:grid}.pld-cpt-filters input,.pld-cpt-filters select,.pld-cpt-filters button{width:100%}.pld-admin-two-col{grid-template-columns:1fr}}

/* v1.5.3 gallery spacing controls */
.pld-pro-gallery {
    column-gap: var(--pld-gallery-gap, 1rem);
    row-gap: var(--pld-gallery-row-gap, var(--pld-gallery-gap, 1rem));
}
.pld-pro-gallery-item {
    border-radius: var(--pld-gallery-radius, 14px);
}
.pld-pro-gallery-item img {
    object-fit: var(--pld-gallery-fit, cover);
}

/* v1.5.4 gallery crop / height controls */
.pld-pro-gallery-item {
    aspect-ratio: var(--pld-gallery-aspect, auto);
    height: var(--pld-gallery-height, auto);
}
.pld-pro-gallery-item img {
    aspect-ratio: var(--pld-gallery-aspect, auto);
    object-position: var(--pld-gallery-position, center center);
}


/* v1.5.6 gallery natural/no-crop fix */
.pld-pro-gallery.pld-gallery-natural .pld-pro-gallery-item {
    aspect-ratio: auto;
    height: auto;
    overflow: visible;
    line-height: 0;
}
.pld-pro-gallery.pld-gallery-natural .pld-pro-gallery-item img {
    width: 100%;
    height: auto;
    max-width: 100%;
    aspect-ratio: auto;
    object-fit: contain;
    display: block;
}
.pld-pro-gallery.pld-gallery-framed .pld-pro-gallery-item {
    overflow: hidden;
    line-height: 0;
}
.pld-pro-gallery.pld-gallery-framed .pld-pro-gallery-item img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    display: block;
}
.pld-pro-gallery .pld-gallery-caption {
    line-height: 1.4;
}

/* v1.5.6 default no-crop gallery behavior */
.pld-gallery-natural .pld-project-gallery-item,
.pld-gallery-natural .pld-cpt-gallery-item,
.pld-gallery-natural .pld-pro-gallery-item {
    aspect-ratio: auto;
    height: auto;
    line-height: 0;
}
.pld-gallery-natural img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* v1.6.0 archive, filter, sort, and card layout controls */
.pld-cpt-archive-wrap{width:100%}.pld-cpt-archive-controls{padding:1rem;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(0,0,0,.04)}.pld-cpt-archive-controls .pld-featured-toggle{display:inline-flex;align-items:center;gap:.45rem;min-height:42px;padding:0 .75rem;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff}.pld-cpt-archive-controls .pld-featured-toggle input{min-height:auto}.pld-cpt-archive-controls .pld-filter-reset{display:inline-flex;align-items:center;min-height:42px;padding:.5rem .85rem;border-radius:10px;text-decoration:none;border:1px solid rgba(0,0,0,.12)}.pld-cpt-pro-grid{gap:var(--pld-card-gap,24px)}.pld-cpt-pro-grid .pld-pro-card{overflow:hidden;border:1px solid rgba(0,0,0,.08);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.05);transition:transform .2s ease,box-shadow .2s ease}.pld-cpt-pro-grid .pld-pro-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(0,0,0,.09)}.pld-cpt-pro-grid .pld-project-card-image{display:block;line-height:0;overflow:hidden;background:rgba(0,0,0,.04)}.pld-cpt-pro-grid .pld-project-card-image img{display:block;width:100%;height:var(--pld-card-image-height,auto);aspect-ratio:var(--pld-card-image-aspect,auto);object-fit:cover}.pld-cpt-pro-grid .pld-project-placeholder{display:flex;align-items:center;justify-content:center;min-height:180px;padding:2rem;color:rgba(0,0,0,.55)}.pld-cpt-pro-grid .pld-project-card-content{padding:1.1rem}.pld-cpt-pro-grid .pld-project-card-content h3{margin:.35rem 0 .6rem;font-size:1.15rem;line-height:1.25}.pld-cpt-pro-grid .pld-project-card-content h3 a{text-decoration:none;color:inherit}.pld-card-terms{display:flex;flex-wrap:wrap;gap:.35rem}.pld-card-term{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;line-height:1.2;background:rgba(0,0,0,.06)}.pld-card-layout-minimal .pld-pro-card{box-shadow:none;border-radius:12px}.pld-card-layout-minimal .pld-project-card-content{padding:.85rem 0}.pld-card-layout-overlay .pld-pro-card{position:relative;background:#111}.pld-card-layout-overlay .pld-project-card-image img{min-height:260px}.pld-card-layout-overlay .pld-project-card-content{position:absolute;left:0;right:0;bottom:0;color:#fff;padding:3rem 1.1rem 1.1rem;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,0))}.pld-card-layout-overlay .pld-project-link{color:#fff;border-color:rgba(255,255,255,.55)}.pld-card-layout-overlay .pld-card-term,.pld-card-layout-overlay .pld-meta-pill{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.22);color:#fff}.pld-card-layout-overlay .pld-project-excerpt{color:rgba(255,255,255,.9)}@media(max-width:767px){.pld-cpt-archive-controls{padding:.85rem}.pld-cpt-pro-grid .pld-project-card-image img{height:auto;aspect-ratio:auto}.pld-card-layout-overlay .pld-project-card-content{position:relative;background:#111}.pld-card-layout-overlay .pld-project-card-image img{min-height:0}}

/* v1.6.1 archive polish */
.pld-cpt-pro-grid .pld-card-no-link .pld-project-card-image{cursor:default}
.pld-cpt-pro-grid .pld-card-no-link .pld-project-link{display:none}

/* v1.6.4 AJAX archive loading state */
.pld-cpt-archive-wrap{position:relative}.pld-archive-loading{display:none;position:absolute;inset:auto 1rem 1rem auto;padding:.45rem .7rem;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 8px 20px rgba(0,0,0,.08);font-size:.85rem;line-height:1.2}.pld-archive-is-loading .pld-archive-loading{display:block}.pld-archive-is-loading .pld-archive-results-region{opacity:.55;pointer-events:none}.pld-cpt-pagination a{cursor:pointer}

/* v1.6.5 archive UX polish + empty state controls */
.pld-archive-summary-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1rem}.pld-archive-result-count{font-size:.95rem;font-weight:600;color:rgba(0,0,0,.68)}.pld-archive-active-filters{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.pld-archive-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:#fff;padding:.32rem .7rem;font-size:.86rem;line-height:1.2;text-decoration:none;color:inherit;cursor:pointer}.pld-archive-chip:hover{border-color:rgba(0,0,0,.28)}.pld-archive-chip-reset{font-weight:700}.pld-archive-empty-state{text-align:center;padding:3rem 1.25rem;border:1px dashed rgba(0,0,0,.18);border-radius:18px;background:rgba(0,0,0,.025)}.pld-archive-empty-state h3{margin:0 0 .5rem;font-size:1.35rem;line-height:1.2}.pld-archive-empty-state p{margin:.25rem auto 1.25rem;max-width:560px;color:rgba(0,0,0,.65)}.pld-empty-reset{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:10px;padding:.55rem 1rem;text-decoration:none;border:1px solid rgba(0,0,0,.14);background:#fff}.pld-archive-loading{display:none;align-items:center;gap:.45rem}.pld-archive-is-loading .pld-archive-loading{display:inline-flex}.pld-archive-spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(0,0,0,.18);border-top-color:rgba(0,0,0,.62);animation:pldArchiveSpin .8s linear infinite}@keyframes pldArchiveSpin{to{transform:rotate(360deg)}}.pld-archive-is-loading .pld-cpt-filters input,.pld-archive-is-loading .pld-cpt-filters select,.pld-archive-is-loading .pld-cpt-filters button,.pld-archive-is-loading .pld-cpt-filters a{pointer-events:none;opacity:.72}@media(max-width:767px){.pld-archive-summary-row{align-items:flex-start}.pld-archive-active-filters{width:100%}.pld-archive-chip{font-size:.82rem}.pld-archive-empty-state{padding:2rem 1rem}}

/* v1.7.0 Single Project Template Controls */
.pld-single-project{--pld-single-hero-height:auto;--pld-single-hero-aspect:16/9;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin:0 0 32px}.pld-single-layout-hero_left,.pld-single-layout-hero_right{grid-template-columns:minmax(0,2fr) minmax(260px,.85fr);align-items:start}.pld-single-layout-hero_right .pld-single-primary{order:2}.pld-single-layout-hero_right .pld-single-sidebar{order:1}.pld-single-primary,.pld-single-sidebar,.pld-single-related{min-width:0}.pld-single-hero{overflow:hidden;border-radius:18px;background:#f3f4f6;aspect-ratio:var(--pld-single-hero-aspect);height:var(--pld-single-hero-height);display:flex;align-items:center;justify-content:center}.pld-single-hero img{width:100%;height:100%;object-fit:cover;display:block}.pld-single-header{margin:20px 0}.pld-single-title{margin:.25rem 0 .55rem}.pld-single-excerpt{font-size:1.08rem;line-height:1.55;margin:0}.pld-single-content{margin:22px 0}.pld-single-sidebar{display:flex;flex-direction:column;gap:18px}.pld-single-details{border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:22px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.05)}.pld-single-details h3,.pld-single-gallery-section h3,.pld-single-before-after h3,.pld-single-related h3{margin-top:0}.pld-single-details dl{margin:0}.pld-single-detail-row{display:grid;grid-template-columns:minmax(90px,.55fr) minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.07)}.pld-single-detail-row:last-child{border-bottom:0}.pld-single-detail-row dt{font-weight:700}.pld-single-detail-row dd{margin:0}.pld-single-gallery-section,.pld-single-before-after,.pld-single-related{margin-top:30px}.pld-before-after-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pld-before-after-columns h4{margin:.25rem 0 .75rem}.pld-before-after-columns img{width:100%;border-radius:14px;display:block}.pld-single-back{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:11px 18px;border:1px solid currentColor;font-weight:700}.pld-single-related{grid-column:1/-1}.pld-related-card .pld-project-card-content h3{font-size:1rem}@media(max-width:900px){.pld-single-layout-hero_left,.pld-single-layout-hero_right{grid-template-columns:1fr}.pld-single-layout-hero_right .pld-single-primary,.pld-single-layout-hero_right .pld-single-sidebar{order:initial}.pld-before-after-columns{grid-template-columns:1fr}.pld-single-detail-row{grid-template-columns:1fr;gap:4px}.pld-single-hero{height:auto}}

/* v2.0.1 macro feature toggles + profiles */
.pld-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0 2rem}.pld-preset-card{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:1rem;box-shadow:0 8px 22px rgba(0,0,0,.04)}.pld-preset-card h2{margin:.1rem 0 .4rem;font-size:1.05rem}.pld-preset-card form{display:grid;gap:.7rem}.pld-gallery-layout-masonry{display:block;columns:var(--pld-gallery-columns,3);column-gap:var(--pld-gallery-gap,1rem)}.pld-gallery-layout-masonry.pld-gallery-columns-1{columns:1}.pld-gallery-layout-masonry.pld-gallery-columns-2{columns:2}.pld-gallery-layout-masonry.pld-gallery-columns-3{columns:3}.pld-gallery-layout-masonry.pld-gallery-columns-4{columns:4}.pld-gallery-layout-masonry.pld-gallery-columns-5{columns:5}.pld-gallery-layout-masonry.pld-gallery-columns-6{columns:6}.pld-gallery-layout-masonry .pld-pro-gallery-item{break-inside:avoid;margin:0 0 var(--pld-gallery-row-gap,var(--pld-gallery-gap,1rem))}.pld-gallery-hover-lift .pld-pro-gallery-item{transition:transform .2s ease,box-shadow .2s ease}.pld-gallery-hover-lift .pld-pro-gallery-item:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.12)}.pld-gallery-hover-zoom .pld-pro-gallery-item img{transition:transform .24s ease}.pld-gallery-hover-zoom .pld-pro-gallery-item:hover img{transform:scale(1.04)}.pld-gallery-video-item{background:#111;min-height:220px;display:flex;align-items:center;justify-content:center}.pld-gallery-video-embed{position:relative;width:100%;aspect-ratio:16/9}.pld-gallery-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.pld-gallery-video-link{display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;padding:2rem}.pld-pro-gallery-item .pld-gallery-caption{padding:.45rem .2rem 0;color:inherit}@media(max-width:1024px){.pld-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pld-gallery-layout-masonry.pld-gallery-columns-4,.pld-gallery-layout-masonry.pld-gallery-columns-5,.pld-gallery-layout-masonry.pld-gallery-columns-6{columns:3}}@media(max-width:767px){.pld-preset-grid{grid-template-columns:1fr}.pld-gallery-layout-masonry,.pld-gallery-layout-masonry.pld-gallery-columns-2,.pld-gallery-layout-masonry.pld-gallery-columns-3,.pld-gallery-layout-masonry.pld-gallery-columns-4,.pld-gallery-layout-masonry.pld-gallery-columns-5,.pld-gallery-layout-masonry.pld-gallery-columns-6{columns:1}}


/* v2.3.16 archive card image fit + spacing fix */
.pld-cpt-pro-grid .pld-project-card-image{
  display:block;
  width:100%;
  aspect-ratio:var(--pld-card-image-aspect,4 / 3);
  height:var(--pld-card-image-height,auto);
  overflow:hidden;
  line-height:0;
}
.pld-cpt-pro-grid .pld-project-card-image img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:var(--pld-card-image-fit,cover);
  object-position:var(--pld-card-image-position,center center);
  aspect-ratio:auto;
}
.pld-cpt-pro-grid.pld-card-image-fit-natural .pld-project-card-image{
  aspect-ratio:auto;
  height:auto;
  background:transparent;
}
.pld-cpt-pro-grid.pld-card-image-fit-natural .pld-project-card-image img{
  height:auto;
  object-fit:contain;
}
