/* Premium Interior Renovation Projects Carousel */
.pirpc{
    --pir-card-bg:#fff;
    --pir-popup-bg:#fff;
    --pir-card-overlay:rgba(10,10,10,.30);
    --pir-popup-overlay:rgba(5,8,12,.78);
    position:relative;
    width:100%;
    direction:rtl;
    isolation:isolate;
    font-family:inherit;
}
.pirpc *{box-sizing:border-box}
.pirpc-heading{max-width:820px;margin:0 auto 34px;text-align:center}
.pirpc-eyebrow{
    display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;
    font-size:12px;font-weight:700;letter-spacing:.04em;color:#a77c48;
}
.pirpc-eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
.pirpc-heading-title{margin:0 0 10px;font-size:clamp(28px,4vw,48px);line-height:1.18;font-weight:800;letter-spacing:-.02em;color:#151515}
.pirpc-heading-description{margin:0 auto;max-width:680px;color:#777;font-size:15px;line-height:1.9}

.pirpc-carousel-wrap{position:relative;padding:0 48px}
.pirpc-viewport{overflow:hidden;width:100%}
.pirpc-track{
    display:flex;gap:var(--pir-gap,20px);
    transform:translate3d(0,0,0);
    transition:transform var(--pir-transition,650ms) cubic-bezier(.2,.8,.2,1);
    will-change:transform;
}
.pirpc-slide{flex:0 0 calc((100% - (var(--pir-gap,20px) * (var(--pir-slides,3) - 1))) / var(--pir-slides,3));min-width:0}
.pirpc-card{
    display:block;width:100%;padding:0;border:0;border-radius:28px;background:var(--pir-card-bg);
    overflow:hidden;cursor:pointer;text-align:right;font:inherit;color:inherit;
    box-shadow:0 16px 50px rgba(20,20,20,.09);
    transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;
    appearance:none;
}
.pirpc-card:hover{transform:translateY(-7px);box-shadow:0 24px 65px rgba(20,20,20,.14)}
.pirpc-card-media{display:block;position:relative;height:390px;overflow:hidden;background:#ece9e3}
.pirpc-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.pirpc-card:hover .pirpc-card-media img{transform:scale(1.045)}
.pirpc-card-image-overlay{
    position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 35%,var(--pir-card-overlay) 100%);
    pointer-events:none;
}
.pirpc-card-open{
    position:absolute;left:18px;bottom:18px;padding:9px 12px;border:1px solid rgba(255,255,255,.3);
    border-radius:999px;background:rgba(255,255,255,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    color:#fff;font-size:12px;font-weight:700;opacity:0;transform:translateY(8px);transition:.35s ease;
}
.pirpc-card:hover .pirpc-card-open{opacity:1;transform:none}
.pirpc-card-open span{margin-right:5px}
.pirpc-card-badge{
    position:absolute;right:16px;top:16px;padding:7px 11px;border-radius:999px;
    color:#fff;background:#b28a5a;font-size:11px;font-weight:700;box-shadow:0 8px 25px rgba(0,0,0,.12)
}
.pirpc-card-content{display:block;padding:20px 20px 18px}
.pirpc-card-title{display:block;margin-bottom:13px;font-size:19px;font-weight:800;line-height:1.5;color:#171717}
.pirpc-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pirpc-card-meta{display:flex;flex-wrap:wrap;gap:12px;color:#777;font-size:12px;line-height:1.6}
.pirpc-card-plus{
    flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
    border:1px solid #e8e4de;color:#333;font-size:20px;transition:.3s ease
}
.pirpc-card:hover .pirpc-card-plus{transform:rotate(90deg);background:#171717;color:#fff;border-color:#171717}

.pirpc-arrow{
    position:absolute;z-index:5;top:calc(50% - 30px);width:48px;height:48px;border-radius:50%;
    border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.9);backdrop-filter:blur(12px);
    box-shadow:0 10px 30px rgba(0,0,0,.10);cursor:pointer;font-size:30px;line-height:1;color:#222;
    display:grid;place-items:center;transition:.3s ease;
}
.pirpc-prev{right:0}
.pirpc-next{left:0}
.pirpc-arrow:hover{transform:scale(1.06);background:#171717;color:#fff}
.pirpc-dots{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:24px}
.pirpc-dot{width:7px;height:7px;border:0;padding:0;border-radius:999px;background:#d8d5cf;cursor:pointer;transition:.3s ease}
.pirpc-dot.is-active{width:24px;background:#b28a5a}

.pirpc-modal{
    position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;
    padding:24px;direction:rtl;
}
.pirpc-modal.is-open{display:flex}
.pirpc-modal-backdrop{position:absolute;inset:0;background:var(--pir-popup-overlay);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.pirpc-modal-card{
    position:relative;z-index:2;width:min(1120px,100%);max-height:min(90vh,900px);overflow:auto;
    display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);background:var(--pir-popup-bg);
    border-radius:30px;box-shadow:0 40px 120px rgba(0,0,0,.28);animation:pirpcIn .42s cubic-bezier(.2,.8,.2,1);
}
@keyframes pirpcIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.pirpc-modal-close{
    position:absolute;z-index:10;left:18px;top:18px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(0,0,0,.08);
    background:rgba(255,255,255,.86);backdrop-filter:blur(10px);cursor:pointer;font-size:25px;line-height:1;color:#222;
}
.pirpc-modal-gallery{
    padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#f3f1ed;align-content:start;
}
.pirpc-gallery-image{min-height:170px;border-radius:18px;overflow:hidden;background:#e8e5df}
.pirpc-gallery-image:first-child{grid-column:span 2;min-height:330px}
.pirpc-gallery-image img{width:100%;height:100%;display:block;object-fit:cover}
.pirpc-modal-body{padding:52px 42px 40px;display:flex;flex-direction:column;justify-content:center}
.pirpc-modal-eyebrow{color:#a77c48;font-size:12px;font-weight:800;margin-bottom:9px}
.pirpc-modal-title{margin:0 0 20px;font-size:34px;line-height:1.3;font-weight:850;color:#151515}
.pirpc-info-row{display:flex;gap:28px;padding:17px 0;border-top:1px solid #ece9e4;border-bottom:1px solid #ece9e4;margin-bottom:20px}
.pirpc-info-item{display:flex;flex-direction:column;gap:4px}
.pirpc-info-label{font-size:11px;color:#999}
.pirpc-info-value{font-size:14px;color:#444}
.pirpc-modal-description{font-size:14px;line-height:2;color:#606060}
.pirpc-modal-description p:first-child{margin-top:0}
.pirpc-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pirpc-feature{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #ebe8e2;border-radius:999px;font-size:11px;color:#555}
.pirpc-feature span{color:#a77c48;font-weight:900}
.pirpc-modal-cta{
    display:flex;align-items:center;justify-content:center;gap:10px;margin-top:26px;padding:14px 18px;
    border-radius:14px;text-decoration:none!important;background:#171717;color:#fff!important;font-size:13px;font-weight:800;
    transition:.3s ease
}
.pirpc-modal-cta:hover{transform:translateY(-2px);filter:brightness(1.08)}
.pirpc-placeholder{height:100%;display:grid;place-items:center;color:#999;font-size:14px}

body.pirpc-modal-open{overflow:hidden}

@media (max-width:1024px){
    .pirpc-carousel-wrap{padding:0 40px}
    .pirpc-modal-card{grid-template-columns:1fr;max-height:92vh}
    .pirpc-modal-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
    .pirpc-gallery-image:first-child{grid-column:span 2;min-height:230px}
    .pirpc-gallery-image{min-height:150px}
    .pirpc-modal-body{padding:34px 28px 30px}
    .pirpc-modal-title{font-size:28px}
}
@media (max-width:767px){
    .pirpc-heading{margin-bottom:24px}
    .pirpc-heading-title{font-size:28px}
    .pirpc-heading-description{font-size:13px}
    .pirpc-carousel-wrap{padding:0 34px}
    .pirpc-card-media{height:330px}
    .pirpc-card-content{padding:16px}
    .pirpc-card-title{font-size:17px}
    .pirpc-card-open{opacity:1;transform:none}
    .pirpc-arrow{width:38px;height:38px;font-size:23px}
    .pirpc-modal{padding:10px}
    .pirpc-modal-card{border-radius:22px}
    .pirpc-modal-gallery{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px;gap:8px}
    .pirpc-gallery-image:first-child{grid-column:span 2;min-height:210px}
    .pirpc-gallery-image{min-height:125px;border-radius:13px}
    .pirpc-modal-body{padding:27px 19px 22px}
    .pirpc-modal-title{font-size:24px;margin-bottom:15px}
    .pirpc-info-row{gap:20px}
    .pirpc-modal-description{font-size:13px;line-height:1.9}
}

/* ==========================================================
   v1.1.0 — PORTALED FULLSCREEN MODAL + RESPONSIVE REBUILD
   ========================================================== */
.pirpc-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:2147483000 !important;
    width:100vw !important;
    height:100dvh !important;
    min-width:100vw !important;
    min-height:100dvh !important;
    padding:20px !important;
    margin:0 !important;
    display:none !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    direction:rtl;
}
.pirpc-modal.is-open{display:flex !important}
.pirpc-modal-backdrop{
    position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;
    background:var(--pir-popup-overlay,rgba(5,8,12,.78)) !important;
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.pirpc-modal-card{
    position:relative !important;z-index:2 !important;
    width:min(1380px,calc(100vw - 40px)) !important;
    height:min(820px,calc(100dvh - 40px)) !important;
    max-width:1380px !important;max-height:calc(100dvh - 40px) !important;
    min-height:0 !important;margin:0 !important;padding:0 !important;
    overflow:hidden !important;
    display:grid !important;
    grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr) !important;
    background:var(--pir-popup-bg,#fff) !important;
    border-radius:30px !important;
    box-shadow:0 35px 100px rgba(0,0,0,.32) !important;
}
.pirpc-modal-gallery{
    min-width:0 !important;min-height:0 !important;height:100% !important;
    padding:16px !important;display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:minmax(0,1fr) 92px !important;
    gap:10px !important;background:#f1efeb !important;overflow:hidden !important;
}
.pirpc-gallery-image{
    min-height:0 !important;width:100% !important;height:100% !important;
    border-radius:18px !important;overflow:hidden !important;background:#e8e5df !important;
}
.pirpc-gallery-image:first-child{
    grid-column:1 / -1 !important;grid-row:1 !important;
    min-height:0 !important;height:100% !important;aspect-ratio:auto !important;
}
.pirpc-gallery-image:not(:first-child){grid-row:2 !important}
.pirpc-gallery-image img{
    width:100% !important;height:100% !important;display:block !important;
    object-fit:cover !important;object-position:center !important;
}
.pirpc-gallery-single{grid-column:1 / -1 !important;grid-row:1 / -1 !important;aspect-ratio:auto !important}
.pirpc-gallery-single img{object-fit:contain !important;background:#eeeae4 !important}
.pirpc-modal-body{
    min-width:0 !important;min-height:0 !important;height:100% !important;
    padding:54px 42px 34px !important;display:flex !important;flex-direction:column !important;
    justify-content:center !important;overflow-y:auto !important;overflow-x:hidden !important;
    scrollbar-width:thin;
}
.pirpc-modal-close{
    position:absolute !important;z-index:20 !important;left:18px !important;top:18px !important;
    width:42px !important;height:42px !important;padding:0 !important;margin:0 !important;
    border-radius:50% !important;border:1px solid rgba(0,0,0,.08) !important;
    background:rgba(255,255,255,.9) !important;color:#222 !important;
    display:grid !important;place-items:center !important;cursor:pointer !important;
    font-size:25px !important;line-height:1 !important;
    box-shadow:0 8px 25px rgba(0,0,0,.12) !important;
}
.pirpc-modal-title{font-size:clamp(25px,2.4vw,38px);line-height:1.35}
.pirpc-modal-description{font-size:14px;line-height:2}
.pirpc-modal-cta{flex:0 0 auto}

@media (max-width:1100px){
    .pirpc-modal{padding:14px !important}
    .pirpc-modal-card{width:min(1000px,calc(100vw - 28px)) !important;height:min(820px,calc(100dvh - 28px)) !important;grid-template-columns:1fr !important;grid-template-rows:minmax(300px,52%) minmax(0,48%) !important}
    .pirpc-modal-gallery{height:100% !important;grid-template-rows:minmax(0,1fr) 78px !important}
    .pirpc-modal-body{height:100% !important;padding:28px 30px 24px !important;justify-content:flex-start !important}
    .pirpc-modal-title{font-size:29px}
}
@media (max-width:767px){
    .pirpc-carousel-wrap{padding:0 30px}
    .pirpc-card-media{height:310px}
    .pirpc-modal{padding:0 !important}
    .pirpc-modal-card{
        width:100vw !important;max-width:none !important;height:100dvh !important;max-height:none !important;
        border-radius:0 !important;grid-template-rows:42dvh minmax(0,58dvh) !important;
    }
    .pirpc-modal-gallery{padding:8px !important;gap:7px !important;grid-template-rows:minmax(0,1fr) 66px !important}
    .pirpc-gallery-image{border-radius:12px !important}
    .pirpc-modal-body{padding:25px 18px 22px !important}
    .pirpc-modal-close{left:12px !important;top:12px !important;width:38px !important;height:38px !important}
    .pirpc-modal-title{font-size:23px;margin-bottom:14px}
    .pirpc-modal-description{font-size:13px;line-height:1.9}
    .pirpc-info-row{gap:18px;padding:13px 0;margin-bottom:14px}
    .pirpc-features{margin-top:14px;gap:6px}
    .pirpc-feature{font-size:10px;padding:7px 9px}
    .pirpc-modal-cta{margin-top:18px;padding:13px 15px}
}
@media (max-width:430px){
    .pirpc-card-media{height:285px}
    .pirpc-modal-card{grid-template-rows:38dvh minmax(0,62dvh) !important}
    .pirpc-modal-gallery{grid-template-rows:minmax(0,1fr) 58px !important}
    .pirpc-modal-title{font-size:21px}
}


/* ==========================================================
   v1.2.0 — MINIMAL RESPONSIVE CARDS / IMAGE HARDENING
   ========================================================== */
.pirpc-carousel-wrap{
    width:100%;
    max-width:100%;
    padding-inline:clamp(28px,4vw,52px);
}
.pirpc-viewport{
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    touch-action:pan-y;
}
.pirpc-track{
    width:max-content;
    min-width:100%;
    align-items:stretch;
    user-select:none;
    -webkit-user-select:none;
}
.pirpc-slide{
    flex:0 0 calc((100% - (var(--pir-gap,20px) * (var(--pir-slides,3) - 1))) / var(--pir-slides,3)) !important;
    width:calc((100% - (var(--pir-gap,20px) * (var(--pir-slides,3) - 1))) / var(--pir-slides,3)) !important;
    min-width:0 !important;
}
.pirpc-card{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    outline:0 !important;
    overflow:hidden !important;
    border-radius:22px !important;
    background:var(--pir-card-bg,#fff) !important;
    box-shadow:0 12px 34px rgba(20,20,20,.08) !important;
    text-align:right !important;
    appearance:none !important;
    -webkit-appearance:none !important;
}
.pirpc-card-media{
    position:relative !important;
    display:block !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:clamp(220px,25vw,330px) !important;
    min-height:220px !important;
    max-height:330px !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#ece9e3 !important;
    isolation:isolate;
}
.pirpc-card-media img{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    min-width:100% !important;
    min-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
    font-size:0 !important;
    line-height:0 !important;
}
.pirpc-card-image-overlay{
    z-index:1 !important;
}
.pirpc-card-badge,
.pirpc-card-open{
    z-index:2 !important;
}
.pirpc-card-content{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    padding:16px 18px 17px !important;
    background:var(--pir-card-bg,#fff) !important;
}
.pirpc-card-title{
    display:block !important;
    margin:0 0 10px !important;
    min-height:0 !important;
    overflow:hidden !important;
    font-size:16px !important;
    line-height:1.55 !important;
}
.pirpc-card-bottom{
    width:100% !important;
    min-width:0 !important;
}
.pirpc-card-meta{
    min-width:0 !important;
    gap:8px !important;
    font-size:11px !important;
}
.pirpc-card-plus{
    flex:0 0 34px !important;
    width:34px !important;
    height:34px !important;
}
.pirpc-arrow{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:50% !important;
    border:1px solid rgba(0,0,0,.08) !important;
    background:rgba(255,255,255,.94) !important;
    color:#171717 !important;
    box-shadow:0 8px 24px rgba(0,0,0,.10) !important;
    display:grid !important;
    place-items:center !important;
    line-height:1 !important;
    font-family:Arial,sans-serif !important;
    font-size:25px !important;
    font-weight:400 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
}
.pirpc-arrow:hover{background:#171717 !important;color:#fff !important}
@media (max-width:1024px){
    .pirpc-carousel-wrap{padding-inline:38px}
    .pirpc-card-media{height:250px !important;min-height:250px !important;max-height:250px !important}
}
@media (max-width:767px){
    .pirpc-carousel-wrap{padding-inline:26px}
    .pirpc-track{gap:14px !important}
    .pirpc-card{border-radius:20px !important}
    .pirpc-card-media{height:230px !important;min-height:230px !important;max-height:230px !important}
    .pirpc-card-content{padding:14px 15px 15px !important}
    .pirpc-card-title{font-size:15px !important;line-height:1.5 !important;margin-bottom:8px !important}
    .pirpc-card-meta{font-size:10.5px !important}
    .pirpc-card-plus{width:32px !important;height:32px !important;flex-basis:32px !important;font-size:18px !important}
    .pirpc-arrow{width:36px !important;height:36px !important;min-width:36px !important;min-height:36px !important;font-size:21px !important}
    .pirpc-prev{right:0 !important}
    .pirpc-next{left:0 !important}
}
@media (max-width:430px){
    .pirpc-carousel-wrap{padding-inline:20px}
    .pirpc-card-media{height:215px !important;min-height:215px !important;max-height:215px !important}
}

/* ==========================================================
   v1.3.0 — WIDE LANDSCAPE PROJECT IMAGES
   Optimized for short/wide renovation project photography.
   The image keeps a landscape composition instead of the old
   tall 390px portrait crop.
   ========================================================== */
.pirpc-card-media{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:2.35 / 1;
    background:#ece9e3;
}
.pirpc-card-media img{
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
}

/* Keep the card compact and editorial rather than tall. */
.pirpc-card-content{
    padding:15px 16px 14px;
}
.pirpc-card-title{
    margin-bottom:9px;
    font-size:17px;
    line-height:1.45;
}
.pirpc-card-bottom{gap:8px}
.pirpc-card-meta{gap:8px;font-size:11px}
.pirpc-card-plus{flex-basis:34px;width:34px;height:34px;font-size:18px}

@media (max-width:1024px){
    .pirpc-card-media{aspect-ratio:2.2 / 1}
}

@media (max-width:767px){
    .pirpc-card-media{
        aspect-ratio:2.05 / 1;
    }
    .pirpc-card-content{padding:13px 14px 13px}
    .pirpc-card-title{font-size:16px;line-height:1.45}
}

@media (max-width:420px){
    .pirpc-card-media{aspect-ratio:1.95 / 1}
    .pirpc-card-title{font-size:15px}
    .pirpc-card-meta{font-size:10px}
}
