/* =====================================================================
   Projects — black & gold, classic luxury
   All colors/spacing are CSS variables; Elementor widget controls override them.
   ===================================================================== */
.irp-projects,.irp-hero,.irp-details,.irp-content,.irp-gallery,.irp-nav,.irp-single{
	--irp-gold:#DBAA66;
	--irp-black:#060707;
	--irp-panel:#0D0E0E;
	--irp-white:#F5F2EC;
	--irp-muted:#B9B2A5;
	--irp-hair:rgba(255,255,255,.10);
	--irp-hair-gold:rgba(219,170,102,.35);
	--irp-serif:"Tajawal",Tahoma,sans-serif;
	--irp-sans:"Tajawal","Segoe UI",Tahoma,sans-serif;
	--irp-num:"Tajawal",Tahoma,sans-serif;
	--irp-ease:cubic-bezier(.2,.7,.1,1);
}
.irp-rtl{direction:rtl;text-align:right}
.irp-single{background:var(--irp-black);color:var(--irp-white)}
.irp-editor-notice{padding:18px 22px;border:1px dashed rgba(219,170,102,.6);color:#DBAA66;background:rgba(219,170,102,.06);font:400 14px/1.6 "Tajawal",sans-serif}

/* ---------- Filters ---------- */
.irp-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 36px;margin:0 0 72px;padding:0 0 20px;border-bottom:1px solid var(--irp-hair)}
.irp-filter{position:relative;background:none;border:0;border-radius:0;padding:8px 0;margin:0;color:var(--irp-muted);font:400 16px/1.6 var(--irp-sans);cursor:pointer;transition:color .35s ease;box-shadow:none}
.irp-filter:hover,.irp-filter:focus{background:none;color:var(--irp-white)}
.irp-filter::after{content:"";position:absolute;inset-inline:0;bottom:-21px;height:1px;background:var(--irp-gold);transform:scaleX(0);transition:transform .5s var(--irp-ease)}
.irp-filter.is-active{color:var(--irp-white)}
.irp-filter.is-active::after{transform:scaleX(1)}
.irp-filter__count{font:500 12px/1 var(--irp-num);color:var(--irp-gold);margin-inline-start:4px;vertical-align:super}
.irp-filter:focus-visible,.irp-more__btn:focus-visible,.irp-card__link:focus-visible,.irp-gallery__link:focus-visible,.irp-nav a:focus-visible{outline:1px solid var(--irp-gold);outline-offset:6px}

/* ---------- Grid ---------- */
.irp-grid{display:grid;column-gap:var(--irp-gap-x,48px);row-gap:var(--irp-gap-y,96px);transition:opacity .35s ease}
.irp-projects.is-loading .irp-grid{opacity:.35}
.irp-grid--classic{grid-template-columns:repeat(var(--irp-cols,3),minmax(0,1fr))}
.irp-grid--classic .irp-card__media{aspect-ratio:var(--irp-ratio,4 / 5)}

/* Editorial rhythm, repeats every 5 projects: wide · tall(offset) / tall · wide(offset) / panoramic */
.irp-grid--editorial{grid-template-columns:repeat(12,minmax(0,1fr))}
.irp-grid--editorial .irp-card:nth-child(5n+1){grid-column:span 7}
.irp-grid--editorial .irp-card:nth-child(5n+2){grid-column:span 5;margin-top:clamp(48px,9vw,140px)}
.irp-grid--editorial .irp-card:nth-child(5n+3){grid-column:span 5}
.irp-grid--editorial .irp-card:nth-child(5n+4){grid-column:span 7;margin-top:clamp(48px,9vw,140px)}
.irp-grid--editorial .irp-card:nth-child(5n+5){grid-column:2 / span 10}
.irp-grid--editorial .irp-card:nth-child(5n+1) .irp-card__media,
.irp-grid--editorial .irp-card:nth-child(5n+4) .irp-card__media{aspect-ratio:4 / 3}
.irp-grid--editorial .irp-card:nth-child(5n+2) .irp-card__media,
.irp-grid--editorial .irp-card:nth-child(5n+3) .irp-card__media{aspect-ratio:4 / 5}
.irp-grid--editorial .irp-card:nth-child(5n+5) .irp-card__media{aspect-ratio:21 / 9}
.irp-grid--editorial .irp-card:only-child{grid-column:2 / span 10}
.irp-grid--editorial .irp-card:only-child .irp-card__media{aspect-ratio:16 / 9}

/* ---------- Card ---------- */
.irp-card{min-width:0}
.irp-card.is-new{animation:irp-rise .9s var(--irp-ease) both}
.irp-card__link{display:block;color:inherit;text-decoration:none}
.irp-card__media{position:relative;overflow:hidden;background:#111}
.irp-card__img,.irp-card__placeholder{display:block;width:100%;height:100%;object-fit:cover}
.irp-card__img{transform:scale(1.001);filter:saturate(.88) brightness(.94);transition:transform 1.6s var(--irp-ease),filter .9s ease}
.irp-card__placeholder{background:linear-gradient(135deg,#141414,#0a0a0a)}
.irp-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0) 55%);opacity:0;transition:opacity .7s ease;pointer-events:none}
.irp-card__media::before{content:"";position:absolute;inset:16px;border:1px solid var(--irp-gold);opacity:0;transform:scale(.985);transition:opacity .7s ease,transform .9s var(--irp-ease);z-index:2;pointer-events:none}
.irp-card__view{position:absolute;z-index:3;bottom:34px;inset-inline-start:38px;display:flex;align-items:center;gap:14px;color:var(--irp-white);font:400 15px/1.4 var(--irp-sans);opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .8s var(--irp-ease)}
.irp-card__view::before{content:"";width:28px;height:1px;background:var(--irp-gold)}
.irp-card__link:hover .irp-card__img,.irp-card__link:focus-visible .irp-card__img{transform:scale(1.045);filter:saturate(1) brightness(1)}
.irp-card__link:hover .irp-card__media::after,.irp-card__link:focus-visible .irp-card__media::after{opacity:1}
.irp-card__link:hover .irp-card__media::before,.irp-card__link:focus-visible .irp-card__media::before{opacity:.7;transform:scale(1)}
.irp-card__link:hover .irp-card__view,.irp-card__link:focus-visible .irp-card__view{opacity:1;transform:none}
.irp-card__body{display:flex;align-items:flex-start;gap:20px;padding-top:26px}
.irp-card__index{flex:none;min-width:32px;padding-top:6px;color:var(--irp-gold);font:500 20px/1 var(--irp-num);letter-spacing:.04em}
.irp-card__text{min-width:0}
.irp-card__meta{margin:0 0 6px;color:var(--irp-muted);font:400 14px/1.6 var(--irp-sans)}
.irp-card__title{margin:0;color:var(--irp-white);font:700 28px/1.4 var(--irp-serif);transition:color .45s ease}
.irp-card__link:hover .irp-card__title,.irp-card__link:focus-visible .irp-card__title{color:var(--irp-gold)}
.irp-card__excerpt{margin:10px 0 0;color:var(--irp-muted);font:300 15px/1.8 var(--irp-sans)}
.irp-card__rule{display:block;width:32px;height:1px;margin-top:16px;background:var(--irp-gold);transition:width .8s var(--irp-ease)}
.irp-card__link:hover .irp-card__excerpt{margin:10px 0 0;color:var(--irp-muted);font:300 15px/1.8 var(--irp-sans)}
.irp-card__rule{width:84px}

/* ---------- Carousel ---------- */
.irp-grid--carousel{--irp-per:3;--irp-gap-x:24px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--irp-per) - 1) * var(--irp-gap-x)) / var(--irp-per));column-gap:var(--irp-gap-x);row-gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:2px}
.irp-grid--carousel::-webkit-scrollbar{display:none}
.irp-grid--carousel .irp-card{scroll-snap-align:start}
.irp-grid--carousel .irp-card__media{aspect-ratio:var(--irp-ratio,5 / 4)}
.irp-arrows{display:flex;justify-content:flex-end;gap:12px;margin-bottom:28px}
button.irp-prev,button.irp-next{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid var(--irp-hair-gold);border-radius:50%;background:transparent;color:var(--irp-gold);cursor:pointer;transition:background-color .3s ease,color .3s ease,opacity .3s ease}
button.irp-prev:hover,button.irp-next:hover{background:var(--irp-gold);color:#000}
.irp-prev.is-disabled,.irp-next.is-disabled{opacity:.35;pointer-events:none}
.elementor-widget.irp-prev .elementor-icon,.elementor-widget.irp-next .elementor-icon{cursor:pointer}

/* ---------- Overlay card (title on image) ---------- */
.irp-card--overlay .irp-card__media{border:1px solid var(--irp-hair)}
.irp-card--overlay .irp-card__media::after{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.35) 38%,rgba(0,0,0,0) 62%)}
.irp-card__caption{position:absolute;z-index:3;inset-inline:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:22px 22px 20px}
.irp-card--overlay .irp-card__title{font-size:21px;line-height:1.45;font-weight:700;color:var(--irp-white)}
.irp-card--overlay .irp-card__meta{margin:2px 0 0;color:var(--irp-muted);font-size:13px}
.irp-card--overlay .irp-card__excerpt{color:#d8d2c7;font-size:14px;margin-top:6px}
.irp-card__go{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--irp-gold);border-radius:50%;color:var(--irp-gold);transition:background-color .35s ease,color .35s ease,transform .5s var(--irp-ease)}
.irp-card--overlay .irp-card__link:hover .irp-card__go{background:var(--irp-gold);color:#000;transform:translateX(-4px)}
.irp-card--overlay .irp-card__link:hover .irp-card__media::before{opacity:0}
.irp-card--overlay .irp-card__link:hover .irp-card__title{color:var(--irp-white)}

/* ---------- Empty & load more ---------- */
.irp-empty{margin:40px 0;text-align:center;color:var(--irp-muted);font:400 17px/1.8 var(--irp-sans)}
.irp-more{display:flex;justify-content:center;margin-top:96px}
.irp-more__btn{position:relative;background:transparent;color:var(--irp-gold);border:1px solid var(--irp-gold);border-radius:0;padding:18px 44px;font:500 15px/1.2 var(--irp-sans);cursor:pointer;transition:background-color .35s ease,color .35s ease}
.irp-more__btn:hover,.irp-more__btn:focus{background:var(--irp-gold);color:#000}
.irp-more__btn[aria-busy="true"]{opacity:.6;cursor:progress}
.irp-more__btn[hidden],.irp-empty[hidden]{display:none}

/* ---------- Hero ---------- */
.irp-hero{position:relative;display:flex;align-items:flex-end;min-height:86vh;overflow:hidden;background:#000;color:var(--irp-white);isolation:isolate}
.irp-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:irp-settle 2.4s var(--irp-ease) both}
.irp-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.55) 38%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.35) 100%)}
.irp-hero__inner{width:100%;max-width:1240px;margin-inline:auto;padding:0 40px 88px;box-sizing:border-box}
.irp-hero__crumbs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:56px;color:var(--irp-muted);font:400 14px/1.6 var(--irp-sans)}
.irp-hero__crumbs a{color:var(--irp-white);text-decoration:none;transition:color .3s}
.irp-hero__crumbs a:hover{color:var(--irp-gold)}
.irp-hero__eyebrow{margin:0 0 18px;color:var(--irp-gold);font:500 15px/1.6 var(--irp-sans);display:flex;align-items:center;gap:14px}
.irp-hero__eyebrow::before{content:"";width:40px;height:1px;background:var(--irp-gold)}
.irp-hero__title{margin:0 0 14px;max-width:16ch;color:var(--irp-white);font:700 clamp(38px,5.6vw,76px)/1.25 var(--irp-serif);text-wrap:balance}
.irp-hero__subtitle{margin:0 0 26px;color:#E4DED3;font:400 clamp(19px,2vw,26px)/1.5 var(--irp-serif)}
.irp-hero__location{display:inline-flex;align-items:center;gap:10px;margin:0;padding-top:22px;border-top:1px solid var(--irp-hair-gold);color:var(--irp-muted);font:400 15px/1.6 var(--irp-sans)}
.irp-icon{color:var(--irp-gold);flex:none}

/* ---------- Description ---------- */
.irp-content__heading{margin:0 0 28px;color:var(--irp-white);font:700 clamp(30px,3.2vw,44px)/1.35 var(--irp-serif)}
.irp-content__heading::after{content:"";display:block;width:56px;height:1px;margin-top:22px;background:var(--irp-gold)}
.irp-content__body{color:#D8D2C7;font:300 18px/2 var(--irp-sans)}
.irp-content__body p{margin:0 0 1.2em}
.irp-content__body h2,.irp-content__body h3{color:var(--irp-white);font-family:var(--irp-serif);margin:1.6em 0 .6em}
.irp-content__body a{color:var(--irp-gold)}
.irp-content__body img{max-width:100%;height:auto}

/* ---------- Details panel ---------- */
.irp-details{border:1px solid var(--irp-hair-gold);padding:44px 40px;background:var(--irp-panel)}
.irp-details__heading,.irp-details__subheading{margin:0 0 22px;color:var(--irp-white);font:700 24px/1.4 var(--irp-serif)}
.irp-details__subheading{margin-top:40px}
.irp-details__list{margin:0}
.irp-details__row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:16px 0;border-bottom:1px solid var(--irp-hair)}
.irp-details__row:first-child{border-top:1px solid var(--irp-hair)}
.irp-details dt{color:var(--irp-muted);font:400 14px/1.6 var(--irp-sans);flex:none}
.irp-details dd{margin:0;color:var(--irp-white);font:400 20px/1.5 var(--irp-serif);text-align:end}
.irp-details__highlights{list-style:none;margin:0;padding:0}
.irp-details__highlights li{position:relative;padding-block:10px;padding-inline:30px 0;color:var(--irp-white);font:400 17px/1.7 var(--irp-serif)}
.irp-details__highlights li::before{content:"";position:absolute;inset-inline-start:0;top:24px;width:16px;height:1px;background:var(--irp-gold)}

/* ---------- Gallery ---------- */
.irp-gallery{display:grid;gap:var(--irp-gap,24px)}
.irp-gallery__item{margin:0;min-width:0;position:relative;overflow:hidden;background:#111}
.irp-gallery__link{display:block;height:100%;position:relative;cursor:zoom-in}
div.irp-gallery__link{cursor:default}
.irp-gallery__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--irp-ease)}
.irp-gallery__link::after{content:"";position:absolute;inset:14px;border:1px solid var(--irp-gold);opacity:0;transition:opacity .6s ease;pointer-events:none}
a.irp-gallery__link:hover .irp-gallery__img{transform:scale(1.04)}
a.irp-gallery__link:hover::after,a.irp-gallery__link:focus-visible::after{opacity:.7}
.irp-gallery--grid{grid-template-columns:repeat(var(--irp-cols,3),minmax(0,1fr))}
.irp-gallery--grid .irp-gallery__item{aspect-ratio:4 / 3}
/* Editorial: wide+narrow / narrow+wide / panoramic — repeats every 5 images */
.irp-gallery--editorial{grid-template-columns:repeat(6,minmax(0,1fr))}
.irp-gallery--editorial .irp-gallery__item:nth-child(5n+1),.irp-gallery--editorial .irp-gallery__item:nth-child(5n+4){grid-column:span 4;aspect-ratio:3 / 2}
.irp-gallery--editorial .irp-gallery__item:nth-child(5n+2),.irp-gallery--editorial .irp-gallery__item:nth-child(5n+3){grid-column:span 2}
.irp-gallery--editorial .irp-gallery__item:nth-child(5n+5){grid-column:1 / -1;aspect-ratio:21 / 9}
.irp-gallery--editorial .irp-gallery__item:last-child:nth-child(5n+1),
.irp-gallery--editorial .irp-gallery__item:last-child:nth-child(5n+3){grid-column:1 / -1;aspect-ratio:21 / 9}
.irp-gallery--editorial .irp-gallery__item:only-child{grid-column:1 / -1;aspect-ratio:16 / 9}

/* ---------- Prev / All / Next ---------- */
.irp-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding:44px 0;border-top:1px solid var(--irp-hair);border-bottom:1px solid var(--irp-hair);border-color:var(--irp-hair)}
.irp-nav__side{display:flex;align-items:center;gap:22px;min-width:0;color:inherit;text-decoration:none}
.irp-nav__side--next{justify-content:flex-end;flex-direction:row-reverse;text-align:end}
.irp-nav__thumb{flex:none;width:112px;height:80px;object-fit:cover;filter:saturate(.85) brightness(.9);transition:filter .6s ease}
.irp-nav__text{display:flex;flex-direction:column;gap:4px;min-width:0}
.irp-nav__label{color:var(--irp-gold);font:400 14px/1.5 var(--irp-sans)}
.irp-nav__title{color:var(--irp-white);font:700 22px/1.4 var(--irp-serif);transition:color .4s ease}
a.irp-nav__side:hover .irp-nav__title{color:var(--irp-gold)}
a.irp-nav__side:hover .irp-nav__thumb{filter:none}
.irp-nav__all{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--irp-muted);text-decoration:none;font:400 14px/1.4 var(--irp-sans);transition:color .3s}
.irp-nav__all:hover{color:var(--irp-white)}
.irp-nav__grid{display:grid;grid-template-columns:repeat(2,9px);gap:5px}
.irp-nav__grid i{width:9px;height:9px;border:1px solid var(--irp-gold);transition:background-color .3s}
.irp-nav__all:hover .irp-nav__grid i{background:var(--irp-gold)}

/* ---------- Built-in (no-Elementor) single layout ---------- */
.irp-section{padding:120px 40px}
.irp-section--panel{background:var(--irp-panel)}
.irp-wrap{max-width:1240px;margin-inline:auto}
.irp-split{display:flex;justify-content:space-between;align-items:flex-start;gap:64px}
.irp-split__main{flex:1 1 58%}
.irp-split__side{flex:0 1 36%}

/* ---------- Motion ---------- */
@keyframes irp-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes irp-settle{from{transform:scale(1.06)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
	.irp-card.is-new,.irp-hero__img{animation:none}
	.irp-card__img,.irp-gallery__img,.irp-card__media::before,.irp-card__view{transition:none}
}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
	.irp-grid--editorial{grid-template-columns:repeat(2,minmax(0,1fr));--irp-gap-y:72px}
	.irp-grid--editorial .irp-card:nth-child(n){grid-column:auto;margin-top:0}
	.irp-grid--editorial .irp-card:nth-child(n) .irp-card__media{aspect-ratio:4 / 5}
	.irp-grid--editorial .irp-card:nth-child(5n+5),.irp-grid--editorial .irp-card:only-child{grid-column:1 / -1}
	.irp-grid--editorial .irp-card:nth-child(5n+5) .irp-card__media,.irp-grid--editorial .irp-card:only-child .irp-card__media{aspect-ratio:16 / 9}
	.irp-grid--editorial .irp-card:nth-child(2n){margin-top:64px}
	.irp-grid--editorial .irp-card:nth-child(5n+5){margin-top:0}
	.irp-section{padding:88px 32px}
	.irp-split{flex-direction:column;gap:56px}
	.irp-split__side{width:100%}
	.irp-hero{min-height:72vh}
	.irp-hero__inner{padding:0 32px 64px}
}

/* ---------- Mobile ---------- */
@media (max-width:767px){
	.irp-grid--carousel{--irp-gap-x:14px}
	.irp-card__caption{padding:16px}
	.irp-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:28px;margin-bottom:44px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
	.irp-filters::-webkit-scrollbar{display:none}
	.irp-filter{white-space:nowrap;font-size:15px}
	.irp-grid{--irp-gap-y:56px}
	.irp-grid--editorial{grid-template-columns:minmax(0,1fr)}
	.irp-grid--editorial .irp-card:nth-child(n){grid-column:auto;margin-top:0}
	.irp-grid--editorial .irp-card:nth-child(n) .irp-card__media{aspect-ratio:4 / 3}
	.irp-card__body{gap:14px;padding-top:18px}
	.irp-card__title{font-size:23px}
	.irp-card__view{display:none}
	.irp-more{margin-top:64px}
	.irp-more__btn{width:100%;padding:17px 24px}
	.irp-hero{min-height:78vh}
	.irp-hero__inner{padding:0 20px 48px}
	.irp-hero__crumbs{margin-bottom:32px}
	.irp-details{padding:32px 22px}
	.irp-details__row{flex-direction:column;gap:2px}
	.irp-details dd{text-align:start}
	.irp-gallery{--irp-gap:12px}
	.irp-gallery--editorial{grid-template-columns:repeat(2,minmax(0,1fr))}
	.irp-gallery--editorial .irp-gallery__item:nth-child(n){grid-column:1 / -1;aspect-ratio:4 / 3}
	.irp-gallery--editorial .irp-gallery__item:nth-child(5n+2),.irp-gallery--editorial .irp-gallery__item:nth-child(5n+3){grid-column:span 1;aspect-ratio:3 / 4}
	.irp-gallery--editorial .irp-gallery__item:last-child:nth-child(5n+2),
	.irp-gallery--editorial .irp-gallery__item:last-child:nth-child(5n+1){grid-column:1 / -1;aspect-ratio:4 / 3}
	.irp-gallery--editorial .irp-gallery__item:last-child:nth-child(5n+3){grid-column:span 1;aspect-ratio:3 / 4}
	.irp-gallery--grid .irp-gallery__item{aspect-ratio:4 / 3}
	.irp-nav{grid-template-columns:1fr 1fr;gap:28px 16px;padding:32px 0}
	.irp-nav__all{grid-column:1 / -1;grid-row:1;flex-direction:row;justify-content:center;padding-bottom:24px;border-bottom:1px solid var(--irp-hair)}
	.irp-nav__side{flex-direction:column;align-items:flex-start;gap:12px}
	.irp-nav__side--next{flex-direction:column;align-items:flex-end}
	.irp-nav__thumb{width:100%;height:auto;aspect-ratio:4 / 3}
	.irp-nav__title{font-size:18px}
	.irp-section{padding:64px 20px}
}
