/* Editorial gallery, Moroccan motion and WhatsApp CTA */
.editorial-gallery{width:100%;position:relative}
.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-template-rows:230px 230px;gap:12px}
.gallery-tile{all:unset;box-sizing:border-box;display:block;position:relative;overflow:hidden;cursor:zoom-in;background:#1a422f;min-width:0;color:#f3ebd6;isolation:isolate}
.gallery-tile:focus-visible{outline:3px solid #ab8a49;outline-offset:3px}
.gallery-tile:nth-child(1){grid-row:span 2}.gallery-tile:nth-child(4){grid-column:span 2}
.gallery-tile img{display:block;position:absolute;width:100%;height:100%;inset:0;object-fit:cover;filter:saturate(.8);transition:transform .85s cubic-bezier(.16,1,.3,1),filter .65s;transform:scale(1.005) translate3d(var(--move-x,0px),var(--move-y,0px),0)}
.gallery-tile:hover img{transform:scale(1.075) translate3d(var(--move-x,0px),var(--move-y,0px),0);filter:saturate(1)}
.gallery-tile:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(2,17,12,.86));pointer-events:none}
.gallery-info{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:18px 21px;display:flex;flex-direction:column;gap:5px;text-align:left}
.gallery-info strong{font:400 clamp(24px,2.4vw,38px)/1.03 var(--font);letter-spacing:.02em}
.gallery-info small{font:600 12px/1.5 var(--body);opacity:.9;max-width:370px}
.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0 0}
.gallery-footer p{max-width:650px;font-size:13px;line-height:1.6;margin:0;color:#526459}
.gallery-contact{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--forest);color:var(--cream);padding:17px 26px;min-height:52px;font-size:12px;font-weight:800;letter-spacing:.08em;clip-path:polygon(0 18%,5% 18%,5% 0,95% 0,95% 18%,100% 18%,100% 82%,95% 82%,95% 100%,5% 100%,5% 82%,0 82%)}
.gallery-contact:after{content:'✥';margin-inline-start:14px;font-size:18px;font-weight:400}
body.gallery-open{overflow:hidden}
.gallery-lightbox[hidden]{display:none!important}
.gallery-lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:14px}
.lightbox-backdrop{position:absolute;inset:0;background:rgba(2,17,12,.96);backdrop-filter:blur(12px)}
.lightbox-panel{position:relative;z-index:1;width:min(1040px,100%);height:min(92dvh,900px);display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:12px}
.lightbox-panel>img{display:block;min-height:0;flex:1;width:100%;object-fit:contain}
.lightbox-close{align-self:flex-end;color:var(--cream);background:none;border:1px solid #d7bc81;padding:10px 16px;font-size:12px;font-weight:800;cursor:pointer}
.lightbox-details{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--cream)}
.lightbox-details p{font:400 clamp(21px,3vw,34px) var(--font);margin:0}
.lightbox-controls{display:flex;align-items:center;gap:13px;font:700 11px var(--body)}
.lightbox-controls button{border:1px solid #a68d65;background:transparent;color:var(--cream);padding:12px 14px;cursor:pointer;font-weight:700}
.wa-quote{background:var(--cream);color:var(--forest);border:2px solid var(--forest);width:100%;padding:17px 22px;min-height:55px;font-size:12px;font-family:var(--body);font-weight:800;letter-spacing:.08em;cursor:pointer;clip-path:polygon(0 18%,4% 18%,4% 0,96% 0,96% 18%,100% 18%,100% 82%,96% 82%,96% 100%,4% 100%,4% 82%,0 82%)}
.wa-quote:after{content:'✥';margin-inline-start:12px;font-size:18px;font-weight:400}
.wa-help{font-size:12px!important;line-height:1.5!important;margin:-14px 0 0!important;color:#526459}
.reveal-on-scroll{opacity:0;transform:translate3d(0,29px,0);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}
.reveal-on-scroll.is-visible{opacity:1;transform:none}
.gallery-tile:nth-child(2),.gallery-tile:nth-child(5){transition-delay:.09s}
.gallery-tile:nth-child(3),.gallery-tile:nth-child(4){transition-delay:.16s}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,220px);gap:8px}.gallery-tile:nth-child(1){grid-row:span 2}.gallery-tile:nth-child(4){grid-column:span 1}.gallery-tile:nth-child(5){grid-column:span 2}.gallery-info{padding:12px}.gallery-info strong{font-size:clamp(23px,5vw,31px)}.gallery-info small{font-size:11px}.gallery-footer{align-items:stretch;flex-direction:column;gap:16px}.gallery-contact{align-self:flex-start}.lightbox-details{flex-direction:column;align-items:flex-start}.lightbox-controls{width:100%;justify-content:space-between}.lightbox-controls button{padding:10px 8px}.lightbox-panel{height:90dvh}}
@media(max-width:430px){.gallery-grid{grid-template-rows:repeat(3,190px)}.gallery-info small{display:none}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1!important;transform:none!important;transition:none!important}.gallery-tile img{transition:none!important;transform:none!important}}
html[lang=ar] .gallery-info{text-align:right}
