/* Ashraf Gents Hostel — gallery, tour video, lightbox and guide pages.
   Colours match the existing site palette. */
.agh-gallery{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media (min-width:768px){.agh-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}
.agh-gallery__item{margin:0}
.agh-gallery__figure{margin:0;height:100%;display:flex;flex-direction:column;border:1px solid #d4cbbd;background:#fbf8f2}
.agh-gallery__link{display:block;position:relative;overflow:hidden;background:#e9e2d4;cursor:zoom-in;outline:none}
.agh-gallery__link:focus-visible{box-shadow:0 0 0 3px #1e3a31 inset}
.agh-gallery__link img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.agh-gallery__link:hover img{transform:scale(1.03)}
.agh-gallery__caption{padding:.55rem .75rem .65rem;font-size:.875rem;line-height:1.35;color:#1c211e}
.agh-tour{margin-top:3rem}
.agh-tour__grid{margin-top:.9rem;display:grid;gap:1.25rem;align-items:start}
@media (min-width:1024px){.agh-tour__grid{grid-template-columns:minmax(0,1.6fr) minmax(16rem,.8fr);gap:2rem}}
.agh-video{margin:0;border:1px solid #c4b49a;background:#1e3a31;padding:.5rem}
.agh-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#1c211e}
.agh-tour__text{font-size:1.0625rem;line-height:1.65;color:#3e4741}
.agh-tour__text p+p{margin-top:.75rem}
.agh-tour__text a{color:#1e3a31;font-weight:600;text-decoration:underline;text-decoration-color:#8a6434;text-underline-offset:4px}
/* Lightbox */
.agh-lb{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(18,24,21,.94);padding:3.5rem .75rem 1rem}
.agh-lb[hidden]{display:none}
.agh-lb__img{max-width:min(100%,1280px);max-height:calc(100vh - 8.5rem);width:auto;height:auto;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.45);background:#1c211e}
.agh-lb__cap{margin-top:.75rem;max-width:60rem;text-align:center;color:#f6f1e6;font-size:.95rem;line-height:1.4}
.agh-lb__count{color:#e0c48a;font-variant-numeric:tabular-nums;margin-right:.5rem}
.agh-lb__btn{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid rgba(246,241,230,.35);border-radius:.5rem;background:rgba(30,58,49,.85);color:#f6f1e6;font-size:1.6rem;line-height:1;cursor:pointer}
.agh-lb__btn:hover{background:#1e3a31}
.agh-lb__btn:focus-visible{outline:3px solid #e0c48a;outline-offset:2px}
.agh-lb__close{top:.75rem;right:.75rem}
.agh-lb__prev{left:.75rem;top:50%;transform:translateY(-50%)}
.agh-lb__next{right:.75rem;top:50%;transform:translateY(-50%)}
@media (max-width:639px){.agh-lb__prev,.agh-lb__next{top:auto;bottom:1rem;transform:none}.agh-lb{padding-bottom:5rem}.agh-lb__img{max-height:calc(100vh - 11rem)}}
html.agh-lb-open,html.agh-lb-open body{overflow:hidden}
/* Footer guides list */
.agh-guides-list{margin-top:.75rem;list-style:none;padding:0}
.agh-guides-list li+li{margin-top:.4rem}
/* Guide / article pages */
.agh-crumbs{font-size:.875rem;color:#3e4741}
.agh-crumbs a{color:#1e3a31;text-decoration:underline;text-decoration-color:#8a6434;text-underline-offset:3px}
.agh-crumbs span[aria-hidden]{margin:0 .4rem}
.agh-article-h1{margin-top:.75rem;max-width:48rem;font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.04;letter-spacing:-.03em;color:#1c211e;text-wrap:balance}
.agh-lede{margin-top:1.25rem;max-width:44rem;font-size:1.2rem;line-height:1.6;color:#3e4741}
.agh-meta{margin-top:1rem;font-size:.875rem;color:#3e4741}
.agh-article-grid{display:grid;gap:2.5rem;margin-top:2.5rem}
@media (min-width:1024px){.agh-article-grid{grid-template-columns:minmax(0,1fr) 20rem;align-items:start}}
.agh-prose{max-width:44rem;font-size:1.0625rem;line-height:1.75;color:#2c332f}
.agh-prose>*+*{margin-top:1.1rem}
.agh-prose h2{margin-top:2.6rem;font-size:1.85rem;line-height:1.15;letter-spacing:-.02em;color:#1c211e}
.agh-prose h3{margin-top:1.8rem;font-family:var(--font-source),"Segoe UI",sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#1e3a31}
.agh-prose ul,.agh-prose ol{padding-left:1.25rem}
.agh-prose ul{list-style:square}
.agh-prose ol{list-style:decimal}
.agh-prose li+li{margin-top:.45rem}
.agh-prose li::marker{color:#8a6434}
.agh-prose a{color:#1e3a31;font-weight:600;text-decoration:underline;text-decoration-color:#8a6434;text-underline-offset:4px}
.agh-prose a:hover{text-decoration-color:#1e3a31}
.agh-prose strong{color:#1c211e;font-weight:600}
.agh-prose figure{margin:2rem 0 0;border:1px solid #d4cbbd;background:#fbf8f2}
.agh-prose figure img{display:block;width:100%;height:auto}
.agh-prose figcaption{padding:.6rem .85rem;font-size:.875rem;line-height:1.4;color:#3e4741}
.agh-note{border-left:3px solid #e0c48a;background:#fbf8f2;padding:.9rem 1.1rem;color:#3e4741}
.agh-aside{border:1px solid #d4cbbd;background:#fbf8f2}
.agh-aside__block{padding:1.1rem 1.25rem}
.agh-aside__block+.agh-aside__block{border-top:1px solid #d4cbbd}
.agh-aside__label{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#1e3a31}
.agh-aside ul{margin-top:.6rem;list-style:none;padding:0}
.agh-aside li+li{margin-top:.5rem}
.agh-aside ul a{color:#1c211e;text-decoration:underline;text-decoration-color:#8a6434;text-underline-offset:3px}
@media (min-width:1024px){.agh-aside{position:sticky;top:7rem}}
.agh-faq{margin-top:1rem;border-top:1px solid #d4cbbd}
.agh-faq details{border-bottom:1px solid #d4cbbd;padding:.9rem 0}
.agh-faq summary{cursor:pointer;font-weight:600;color:#1c211e;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.agh-faq summary::-webkit-details-marker{display:none}
.agh-faq summary::after{content:"+";color:#8a6434;font-size:1.25rem;line-height:1}
.agh-faq details[open] summary::after{content:"\2212"}
.agh-faq details p{margin-top:.6rem;color:#3e4741}
.agh-cards{list-style:none;padding:0;margin-top:2rem;display:grid;gap:1.25rem}
@media (min-width:768px){.agh-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.agh-card{height:100%;display:flex;flex-direction:column;border:1px solid #d4cbbd;background:#fbf8f2}
.agh-card img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.agh-card__body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.agh-card__title{font-family:var(--font-serif);font-size:1.35rem;line-height:1.2;color:#1c211e}
.agh-card__title a{text-decoration:none;color:inherit}
.agh-card__title a:hover{text-decoration:underline;text-decoration-color:#8a6434;text-underline-offset:4px}
.agh-card p{color:#3e4741;line-height:1.55}
.agh-card__more{margin-top:auto;font-weight:600;color:#1e3a31}
.agh-map{margin:2rem 0 0;border:1px solid #d4cbbd;background:#fbf8f2}
.agh-map iframe{display:block;width:100%;height:auto;aspect-ratio:16/10;border:0;background:#e9e2d4}
@media (max-width:639px){.agh-map iframe{aspect-ratio:4/3}}
.agh-map figcaption a{white-space:nowrap}
.agh-credit{display:block;margin-top:.25rem;font-size:.75rem;color:#5a625d}
.agh-credit a{font-weight:400 !important}
.agh-sources{font-size:.875rem;color:#3e4741}
.agh-sources li+li{margin-top:.3rem}
