
/* ============================================================
   PROSPERA FINAL PORTFOLIO AUDIT — INTERIOR / EXTERIOR ONLY
   Applied after legacy CSS to stabilize gallery, responsiveness,
   image visibility, equal card sizing, and premium presentation.
============================================================ */
:root{
    --pf-ink:#051F2A;
    --pf-navy:#0A3648;
    --pf-copper:#E08A5E;
    --pf-paper:#FFFFFF;
    --pf-muted:#64748B;
    --pf-line:rgba(10,54,72,.12);
    --pf-radius:24px;
    --pf-card-shadow:0 24px 70px rgba(5,31,42,.12);
}

.pf-home-portfolio-section,
.pf-page-portfolio-section{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 12% 0%, rgba(224,138,94,.12), transparent 32%),
        linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 48%, #F3F7FA 100%);
}
.pf-home-portfolio-section::before,
.pf-page-portfolio-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(rgba(10,54,72,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(10,54,72,.035) 1px, transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(to bottom, transparent 0%, #000 14%, #000 82%, transparent 100%);
}
.pf-home-portfolio-section > .container,
.pf-page-portfolio-section > .container{position:relative;z-index:1;}
.pf-home-portfolio-header{max-width:900px;}

.pf-home-gallery-shell{
    display:grid;
    gap:34px;
    margin-top:42px;
}
.pf-home-carousel-block{
    border:1px solid rgba(10,54,72,.10);
    border-radius:32px;
    padding:clamp(18px,3vw,30px);
    background:rgba(255,255,255,.82);
    box-shadow:0 28px 90px rgba(5,31,42,.10);
    backdrop-filter:blur(12px);
}
.pf-carousel-heading{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-end;
    margin-bottom:20px;
}
.pf-carousel-heading h3,
.pf-page-group-head h2{
    margin:8px 0 8px;
    font-size:clamp(1.45rem,2.3vw,2.3rem);
    color:var(--pf-navy);
    letter-spacing:-.04em;
}
.pf-carousel-heading p,
.pf-page-group-head p{max-width:760px;margin:0;color:#53677A;line-height:1.72;}
.pf-gallery-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--pf-copper);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.pf-gallery-kicker i{font-size:.95rem;}
.pf-carousel-controls{display:flex;gap:10px;flex:0 0 auto;}
.pf-carousel-btn{
    width:46px;
    height:46px;
    border:1px solid rgba(10,54,72,.16);
    border-radius:999px;
    background:#fff;
    color:var(--pf-navy);
    display:inline-grid;
    place-items:center;
    cursor:pointer;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
    box-shadow:0 12px 26px rgba(5,31,42,.08);
}
.pf-carousel-btn:hover,
.pf-carousel-btn:focus-visible{background:var(--pf-copper);color:#fff;transform:translateY(-2px);box-shadow:0 18px 36px rgba(224,138,94,.24);}
.pf-carousel-viewport{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:clamp(280px,30vw,410px);
    gap:18px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:4px;
    padding:4px 4px 18px;
    -webkit-overflow-scrolling:touch;
}
.pf-carousel-viewport::-webkit-scrollbar{height:8px;}
.pf-carousel-viewport::-webkit-scrollbar-track{background:rgba(10,54,72,.08);border-radius:999px;}
.pf-carousel-viewport::-webkit-scrollbar-thumb{background:rgba(224,138,94,.62);border-radius:999px;}
.pf-carousel-viewport .pf-portfolio-card{scroll-snap-align:start;}

.pf-gallery-actions{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:34px;
}
.pf-gallery-actions .btn{min-width:190px;justify-content:center;}

.pf-portfolio-card.portfolio-card{
    height:100%;
    display:flex!important;
    flex-direction:column;
    background:#fff!important;
    border:1px solid rgba(10,54,72,.10)!important;
    border-radius:24px!important;
    overflow:hidden!important;
    box-shadow:0 20px 48px rgba(5,31,42,.10)!important;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease!important;
}
.pf-portfolio-card.portfolio-card:hover{transform:translateY(-5px)!important;box-shadow:0 30px 70px rgba(5,31,42,.16)!important;border-color:rgba(224,138,94,.26)!important;}
.pf-portfolio-media.portfolio-media-button{
    position:relative;
    display:block!important;
    width:100%!important;
    aspect-ratio:4/3!important;
    min-height:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,#0A3648,#051F2A)!important;
    cursor:pointer;
}
.pf-portfolio-media.portfolio-media-button img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
    transform:scale(1.001);
    transition:transform .5s ease, filter .5s ease!important;
}
.pf-portfolio-media.portfolio-media-button:hover img{transform:scale(1.045)!important;filter:saturate(1.04) contrast(1.02);}
.pf-portfolio-card-body.portfolio-card-body{
    display:flex!important;
    flex-direction:column;
    flex:1;
    gap:12px;
    padding:18px!important;
    background:#fff!important;
}
.pf-portfolio-card-body .portfolio-card-category,
#portfolio-lightbox .portfolio-card-category{
    display:inline-flex!important;
    width:max-content;
    max-width:100%;
    color:var(--pf-copper)!important;
    background:rgba(224,138,94,.10)!important;
    border:1px solid rgba(224,138,94,.18);
    border-radius:999px;
    padding:6px 10px;
    font-size:.7rem!important;
    font-weight:900!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
    line-height:1.2;
}
.pf-portfolio-card-body h3{
    margin:0!important;
    font-size:clamp(1rem,1.15vw,1.15rem)!important;
    line-height:1.25!important;
    letter-spacing:-.025em!important;
    color:var(--pf-navy)!important;
}
.pf-portfolio-card-actions.portfolio-card-actions{
    margin-top:auto!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
}
.pf-portfolio-card-actions .portfolio-ghost-button,
.pf-portfolio-card-actions .portfolio-service-link{
    min-height:40px;
    border-radius:999px!important;
    padding:10px 12px!important;
    font-size:.76rem!important;
    font-weight:850!important;
    text-decoration:none!important;
    line-height:1.15!important;
}
.pf-portfolio-card-actions .portfolio-ghost-button{background:#F8FAFC!important;border:1px solid rgba(10,54,72,.12)!important;color:var(--pf-navy)!important;}
.pf-portfolio-card-actions .portfolio-service-link{background:var(--pf-navy)!important;color:#fff!important;border:1px solid var(--pf-navy)!important;}
.pf-portfolio-card-actions .portfolio-ghost-button:hover,
.pf-portfolio-card-actions .portfolio-service-link:hover{transform:translateY(-2px)!important;}

.pf-page-hero.portfolio-page-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:calc(var(--header-height,92px) + 70px) 0 92px!important;
    background:
        linear-gradient(135deg,rgba(5,31,42,.94),rgba(10,54,72,.90)),
        url('/wp-content/uploads/2026/prospera-project/8-pine-tree/01-exterior/03-aerial-waterfront-overview/prospera-8-pine-tree-waterfront-home-aerial-front.webp') center/cover no-repeat!important;
}
.pf-page-hero.portfolio-page-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:110px;
    background:linear-gradient(to bottom,transparent,#F8FAFC);
    z-index:-1;
}
.pf-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.88fr);gap:clamp(30px,5vw,72px);align-items:center;}
.pf-page-hero-copy{max-width:760px;}
.pf-page-hero-copy h1{color:#fff!important;font-size:clamp(2.45rem,6vw,5.3rem)!important;line-height:.98!important;letter-spacing:-.065em!important;margin:12px 0 18px!important;}
.pf-page-hero-copy p{color:rgba(255,255,255,.82)!important;font-size:clamp(1rem,1.45vw,1.22rem)!important;max-width:680px;}
.pf-page-hero-media{position:relative;min-height:460px;display:grid;align-items:center;}
.pf-page-hero-media img{position:absolute;width:min(78%,420px);height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:30px;border:1px solid rgba(255,255,255,.22);box-shadow:0 34px 90px rgba(0,0,0,.34);}
.pf-page-hero-media img:first-child{right:0;top:0;z-index:2;}
.pf-page-hero-media img:last-child{left:0;bottom:0;z-index:1;transform:translateY(8px);filter:saturate(.98);}

.pf-page-summary{align-items:center!important;}
.pf-page-jump-nav{
    position:sticky;
    top:calc(var(--header-height,92px) + 10px);
    z-index:20;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin:34px auto 42px;
    padding:10px;
    width:max-content;
    max-width:100%;
    border:1px solid rgba(10,54,72,.12);
    border-radius:999px;
    background:rgba(255,255,255,.88);
    box-shadow:0 18px 50px rgba(5,31,42,.10);
    backdrop-filter:blur(12px);
}
.pf-page-jump-nav a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:10px 16px;
    border-radius:999px;
    text-decoration:none;
    color:var(--pf-navy);
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.03em;
    transition:background .24s ease,color .24s ease,transform .24s ease;
}
.pf-page-jump-nav a:hover,
.pf-page-jump-nav a:focus-visible{background:var(--pf-copper);color:#fff;transform:translateY(-1px);}
.pf-page-gallery-stack{display:grid;gap:64px;}
.pf-page-group{scroll-margin-top:calc(var(--header-height,92px) + 96px);}
.pf-page-group-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:28px;
    margin-bottom:22px;
    padding-bottom:18px;
    border-bottom:1px solid rgba(10,54,72,.12);
}
.pf-page-count{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border-radius:999px;background:rgba(10,54,72,.07);color:var(--pf-navy);font-size:.82rem;white-space:nowrap;}
.pf-page-gallery-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:22px!important;
}
.pf-portfolio-next-step{background:#fff;}

/* Lightbox stability */
.portfolio-lightbox[hidden]{display:none!important;}
.portfolio-lightbox:not([hidden]){position:fixed!important;inset:0!important;z-index:9999!important;display:grid!important;place-items:center!important;padding:22px!important;}
.portfolio-lightbox-backdrop{position:absolute!important;inset:0!important;background:rgba(5,31,42,.78)!important;backdrop-filter:blur(8px);}
.portfolio-lightbox-dialog{position:relative!important;width:min(1120px,100%)!important;max-height:92dvh!important;display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;background:#fff!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 40px 120px rgba(0,0,0,.38)!important;}
.portfolio-lightbox-media{min-height:320px;background:#071F2A;}
.portfolio-lightbox-media img{width:100%!important;height:100%!important;max-height:78dvh;object-fit:contain!important;background:#071F2A;}
.portfolio-lightbox-content{padding:clamp(22px,4vw,34px)!important;display:flex!important;flex-direction:column;justify-content:center;gap:14px;}
.portfolio-lightbox-close{position:absolute!important;top:14px!important;right:14px!important;z-index:2!important;width:44px!important;height:44px!important;border-radius:999px!important;border:0!important;background:#fff!important;color:var(--pf-navy)!important;box-shadow:0 14px 34px rgba(0,0,0,.20)!important;cursor:pointer;}
.portfolio-lightbox-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}

@media (min-width: 1560px){
    .pf-carousel-viewport{grid-auto-columns:420px;}
    .pf-page-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (max-width: 1180px){
    .pf-page-hero-grid{grid-template-columns:1fr;}
    .pf-page-hero-media{min-height:360px;max-width:720px;width:100%;margin-inline:auto;}
    .pf-page-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width: 820px){
    .pf-home-carousel-block{border-radius:24px;padding:18px;}
    .pf-carousel-heading,.pf-page-group-head{align-items:flex-start;flex-direction:column;gap:16px;}
    .pf-carousel-controls{width:100%;justify-content:flex-end;}
    .pf-carousel-viewport{grid-auto-columns:min(82vw,360px);gap:14px;padding-bottom:14px;}
    .pf-gallery-actions{display:grid;grid-template-columns:1fr;width:100%;}
    .pf-gallery-actions .btn{width:100%;}
    .pf-page-hero.portfolio-page-hero{padding:calc(var(--header-height,74px) + 42px) 0 72px!important;}
    .pf-page-hero-copy h1{font-size:clamp(2.15rem,11vw,3.8rem)!important;}
    .pf-page-hero-media{min-height:300px;}
    .pf-page-hero-media img{border-radius:22px;}
    .pf-page-jump-nav{position:relative;top:auto;border-radius:24px;width:100%;justify-content:stretch;}
    .pf-page-jump-nav a{flex:1 1 150px;justify-content:center;}
    .portfolio-lightbox-dialog{grid-template-columns:1fr!important;max-height:92dvh;overflow:auto!important;}
    .portfolio-lightbox-media{min-height:260px;}
    .portfolio-lightbox-media img{max-height:58dvh;}
}
@media (max-width: 640px){
    .pf-home-gallery-shell{gap:24px;margin-top:30px;}
    .pf-carousel-viewport{grid-auto-columns:88vw;}
    .pf-portfolio-card-body.portfolio-card-body{padding:15px!important;}
    .pf-portfolio-card-actions.portfolio-card-actions{display:grid!important;grid-template-columns:1fr!important;}
    .pf-portfolio-card-actions .portfolio-ghost-button,
    .pf-portfolio-card-actions .portfolio-service-link{width:100%!important;justify-content:center!important;text-align:center!important;}
    .pf-page-gallery-grid{grid-template-columns:1fr!important;gap:18px!important;}
    .pf-page-hero-media{display:none;}
    .portfolio-lightbox:not([hidden]){padding:10px!important;}
    .portfolio-lightbox-dialog{border-radius:22px!important;}
}
@media (prefers-reduced-motion: reduce){
    .pf-portfolio-card.portfolio-card,
    .pf-portfolio-media.portfolio-media-button img,
    .pf-carousel-btn,
    .pf-page-jump-nav a{transition:none!important;}
}


/* ============================================================
   REFINEMENT PATCH — directional carousel motion, larger media,
   and more visible premium hero imagery.
============================================================ */
.pf-carousel-viewport{
    grid-auto-columns:clamp(320px,34vw,452px);
    gap:22px;
    padding:6px 6px 18px;
    scroll-snap-type:x proximity;
    scroll-behavior:smooth;
}
.pf-home-carousel-block{
    border-radius:34px;
    background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.86));
    box-shadow:0 30px 90px rgba(5,31,42,.10), 0 1px 0 rgba(255,255,255,.65) inset;
}
.pf-portfolio-card.portfolio-card{
    border-radius:26px!important;
    box-shadow:0 24px 58px rgba(5,31,42,.11)!important;
}
.pf-portfolio-media.portfolio-media-button{
    aspect-ratio:4/2.92!important;
}
.pf-portfolio-card-body.portfolio-card-body{padding:20px!important;}
.pf-carousel-heading p,
.pf-page-group-head p{max-width:780px;color:#54697c;}
.pf-page-count{display:none!important;}

/* More visible hero imagery with refined readability */
.hero,
.page-hero,
main > .hero,
.portfolio-page-hero,
.prospera-final-injected-hero{
    background-position:center center!important;
}
.hero{
    background:
        linear-gradient(120deg, rgba(5,31,42,0.78) 0%, rgba(5,31,42,0.50) 48%, rgba(10,54,72,0.34) 100%),
        url('/wp-content/uploads/2026/prospera-project/exterior/prospera-exterior-front-facade-walkway-01.webp') center / cover no-repeat!important;
}
.hero::before{
    background:
        radial-gradient(ellipse at 76% 20%, rgba(224,138,94,0.13), transparent 34%),
        linear-gradient(to bottom, rgba(255,255,255,0.018), transparent 22%, rgba(5,31,42,0.11))!important;
}
.page-hero::before,
main > .hero::before,
.portfolio-page-hero::before,
.prospera-final-injected-hero::before{
    background:
        linear-gradient(115deg, rgba(5,31,42,.76) 0%, rgba(5,31,42,.52) 48%, rgba(10,53,72,.30) 100%),
        radial-gradient(circle at 78% 22%, rgba(221,142,101,.16), transparent 34%)!important;
}
.pf-page-hero.portfolio-page-hero{
    background:
        linear-gradient(135deg,rgba(5,31,42,.76),rgba(10,54,72,.48)),
        url('/wp-content/uploads/2026/prospera-project/8-pine-tree/01-exterior/03-aerial-waterfront-overview/prospera-8-pine-tree-waterfront-home-aerial-front.webp') center/cover no-repeat!important;
}
.hero h1,
.page-hero h1,
main > .hero h1,
.portfolio-page-hero h1,
.prospera-final-injected-hero h1{
    text-shadow:0 10px 34px rgba(0,0,0,.30)!important;
}
.hero p,
.page-hero p,
main > .hero p,
.portfolio-page-hero p,
.prospera-final-injected-hero p{
    color:rgba(255,255,255,.90)!important;
    text-shadow:0 8px 26px rgba(0,0,0,.22)!important;
}
.hero .btn,
.page-hero .btn,
main > .hero .btn,
.portfolio-page-hero .btn,
.prospera-final-injected-hero .btn{
    box-shadow:0 20px 44px rgba(5,31,42,.20), 0 8px 22px rgba(0,0,0,.12)!important;
}
.hero .btn.btn-primary,
.page-hero .btn.btn-primary,
main > .hero .btn.btn-primary,
.portfolio-page-hero .btn.btn-primary,
.prospera-final-injected-hero .btn.btn-primary{
    box-shadow:0 24px 48px rgba(224,138,94,.20), 0 10px 28px rgba(5,31,42,.18)!important;
}
.hero .btn.btn-secondary,
.page-hero .btn.btn-secondary,
main > .hero .btn.btn-secondary,
.portfolio-page-hero .btn.btn-secondary,
.prospera-final-injected-hero .btn.btn-secondary{
    background:rgba(255,255,255,.10)!important;
    border-color:rgba(255,255,255,.26)!important;
    backdrop-filter:blur(8px)!important;
}

@media (min-width: 1560px){
    .pf-carousel-viewport{grid-auto-columns:468px;}
}
@media (max-width: 1180px){
    .pf-carousel-viewport{grid-auto-columns:min(40vw,430px);}
}
@media (max-width: 820px){
    .pf-carousel-viewport{grid-auto-columns:min(84vw,390px);gap:16px;padding-bottom:14px;}
}
@media (max-width: 640px){
    .pf-carousel-viewport{grid-auto-columns:90vw;}
    .pf-portfolio-card-body.portfolio-card-body{padding:16px!important;}
}


/* ============================================================
   AUTO CAROUSEL + PREMIUM GALLERY REFINEMENT PATCH
============================================================ */
.pf-home-gallery-shell{
    gap:36px;
}
.pf-home-carousel-block{
    border-radius:34px;
    border:1px solid rgba(10,54,72,.10);
    background:linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.88) 100%);
    box-shadow:0 30px 80px rgba(5,31,42,.10), 0 1px 0 rgba(255,255,255,.65) inset;
}
.pf-carousel-heading{
    margin-bottom:22px;
}
.pf-carousel-heading h3,
.pf-page-group-head h2{
    font-size:clamp(1.6rem,2.5vw,2.45rem);
}
.pf-carousel-viewport{
    grid-auto-columns:clamp(350px, 36vw, 500px);
    gap:22px;
    padding:6px 8px 18px;
    scroll-snap-type:none;
    scroll-behavior:auto;
}
.pf-carousel-viewport::-webkit-scrollbar{height:7px;}
.pf-carousel-viewport::-webkit-scrollbar-track{background:rgba(10,54,72,.07);}
.pf-carousel-viewport::-webkit-scrollbar-thumb{background:rgba(224,138,94,.58);}
.pf-portfolio-card.portfolio-card{
    border-radius:26px!important;
    box-shadow:0 24px 64px rgba(5,31,42,.10)!important;
}
.pf-portfolio-card.portfolio-card:hover{
    transform:translateY(-6px)!important;
    box-shadow:0 34px 78px rgba(5,31,42,.15)!important;
}
.pf-portfolio-media.portfolio-media-button{
    aspect-ratio:4 / 2.88!important;
}
.pf-portfolio-card-body.portfolio-card-body{
    padding:20px!important;
    gap:13px;
}
.pf-portfolio-card-body h3{
    font-size:clamp(1.02rem,1.18vw,1.18rem)!important;
}
.pf-carousel-btn{
    width:48px;
    height:48px;
    box-shadow:0 14px 30px rgba(5,31,42,.08);
}
.pf-carousel-btn:hover,
.pf-carousel-btn:focus-visible{
    box-shadow:0 20px 42px rgba(224,138,94,.26);
}

@media (min-width: 1560px){
    .pf-carousel-viewport{grid-auto-columns:520px;}
}
@media (max-width: 1180px){
    .pf-carousel-viewport{grid-auto-columns:min(42vw, 450px);}
}
@media (max-width: 820px){
    .pf-home-gallery-shell{gap:28px;}
    .pf-home-carousel-block{padding:18px;border-radius:26px;}
    .pf-carousel-viewport{grid-auto-columns:min(84vw, 400px);gap:16px;padding-bottom:14px;}
}
@media (max-width: 640px){
    .pf-carousel-viewport{grid-auto-columns:90vw;}
    .pf-portfolio-card-body.portfolio-card-body{padding:16px!important;}
}


/* ============================================================
   RESPONSIVE IMAGE SIZE + DIRECTION LOCK PATCH
============================================================ */
.pf-carousel-viewport{
    width:100%;
    max-width:100%;
    grid-auto-columns:minmax(300px, min(34vw, 460px));
    gap:clamp(14px, 1.6vw, 22px);
    padding:6px 8px 18px;
    scroll-padding-inline:8px;
}
.pf-portfolio-card.portfolio-card{
    width:100%;
    min-width:0;
    max-width:100%;
}
.pf-portfolio-media.portfolio-media-button,
.pf-portfolio-media.portfolio-media-button img{
    width:100%!important;
    max-width:100%!important;
    height:auto;
}
.pf-portfolio-media.portfolio-media-button{
    aspect-ratio:4 / 2.9!important;
}
.pf-home-carousel-block{
    overflow:hidden;
}

@media (min-width: 1440px){
    .pf-carousel-viewport{grid-auto-columns:minmax(340px, min(31vw, 470px));}
}
@media (max-width: 1199px){
    .pf-carousel-viewport{grid-auto-columns:minmax(300px, min(42vw, 420px));}
}
@media (max-width: 991px){
    .pf-carousel-viewport{grid-auto-columns:minmax(280px, min(56vw, 380px));}
}
@media (max-width: 767px){
    .pf-carousel-viewport{grid-auto-columns:minmax(270px, 82vw); gap:16px;}
    .pf-portfolio-media.portfolio-media-button{aspect-ratio:4 / 3!important;}
}
@media (max-width: 575px){
    .pf-carousel-viewport{grid-auto-columns:88vw; gap:14px; padding:4px 4px 14px;}
    .pf-portfolio-card-body.portfolio-card-body{padding:15px!important;}
}


/* ============================================================
   PORTFOLIO HERO IMAGE REMOVAL PATCH
   Keeps the title, subtitle, and buttons clean while removing
   the oversized interior/exterior preview image from the hero.
============================================================ */
.pf-page-hero-grid{
    grid-template-columns:minmax(0,1fr)!important;
    max-width:980px;
}
.pf-page-hero-copy{
    max-width:900px!important;
}
.pf-page-hero-media{
    display:none!important;
}


/* ============================================================
   MOBILE SINGLE-CARD CAROUSEL REFINEMENT PATCH
   Ensures one portfolio card per view on mobile only.
============================================================ */
@media (max-width: 767px){
    .pf-home-carousel-block{
        padding:16px;
        border-radius:24px;
    }
    .pf-carousel-heading{
        gap:14px;
        margin-bottom:18px;
    }
    .pf-carousel-controls{
        width:100%;
        justify-content:flex-end;
    }
    .pf-carousel-viewport{
        width:100%;
        grid-auto-columns:calc(100% - 2px)!important;
        gap:0!important;
        padding:2px 1px 14px!important;
        scroll-snap-type:x mandatory!important;
        scroll-padding-inline:1px!important;
        overflow-x:auto;
        overscroll-behavior-x:contain;
    }
    .pf-carousel-viewport > .pf-portfolio-card{
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
        scroll-snap-align:start!important;
        scroll-snap-stop:always;
    }
    .pf-portfolio-card.portfolio-card{
        border-radius:22px!important;
    }
    .pf-portfolio-media.portfolio-media-button{
        aspect-ratio:4 / 3!important;
    }
    .pf-portfolio-card-body.portfolio-card-body{
        padding:16px!important;
    }
}
@media (max-width: 575px){
    .pf-home-gallery-shell{gap:22px;}
    .pf-home-carousel-block{padding:14px;}
    .pf-carousel-viewport{
        grid-auto-columns:100%!important;
        padding:2px 0 14px!important;
    }
    .pf-carousel-btn{
        width:44px;
        height:44px;
    }
}


/* ============================================================
   PORTFOLIO HERO CLEAN VISIBILITY PATCH
============================================================ */
.pf-page-hero.portfolio-page-hero{
    background:
        linear-gradient(135deg, rgba(5,31,42,.50), rgba(10,54,72,.20)),
        url('/wp-content/uploads/2026/prospera-project/8-pine-tree/01-exterior/03-aerial-waterfront-overview/prospera-8-pine-tree-waterfront-home-aerial-front.webp') center/cover no-repeat!important;
}
.pf-page-hero.portfolio-page-hero::before{
    background:
        linear-gradient(115deg, rgba(5,31,42,.34) 0%, rgba(5,31,42,.18) 46%, rgba(10,53,72,.10) 100%),
        radial-gradient(circle at 76% 20%, rgba(221,142,101,.08), transparent 34%)!important;
}
.pf-page-hero.portfolio-page-hero::after{
    content:none!important;
    display:none!important;
    background:none!important;
}
.pf-page-hero-copy h1{ text-shadow:0 10px 28px rgba(0,0,0,.18)!important; }
.pf-page-hero-copy p{ color:rgba(255,255,255,.93)!important; text-shadow:0 6px 18px rgba(0,0,0,.12)!important; }


/* Portfolio hero image audit reinforcement */
html body.prospera-page-portfolio .portfolio-page-hero,
html body.prospera-page-portfolio .pf-page-hero.portfolio-page-hero{
    background:linear-gradient(120deg, rgba(5,31,42,.54) 0%, rgba(5,31,42,.26) 50%, rgba(10,54,72,.14) 100%), url('/wp-content/uploads/2026/prospera-project/8-pine-tree/01-exterior/03-aerial-waterfront-overview/prospera-8-pine-tree-waterfront-home-aerial-front.webp') center / cover no-repeat!important;
}
html body.prospera-page-portfolio .portfolio-page-hero::after,
html body.prospera-page-portfolio .pf-page-hero.portfolio-page-hero::after{content:none!important;display:none!important;background:none!important;}
