/* 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}
/* Local guides v3: key facts, tables, related links, prev/next, guides index, home hubs */
.agh-keyfacts{border:1px solid #c4b49a;border-left:4px solid #1e3a31;background:#fbf8f2;padding:1rem 1.2rem}
.agh-keyfacts__label{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#1e3a31}
.agh-keyfacts ul{margin-top:.55rem;padding-left:1.1rem;list-style:square}
.agh-keyfacts li+li{margin-top:.35rem}
.agh-keyfacts li::marker{color:#8a6434}
.agh-hero{margin-top:1.5rem !important}
.agh-hero img{aspect-ratio:16/9;object-fit:cover;max-height:28rem}
.agh-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #d4cbbd}
.agh-table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.45;background:#fbf8f2}
.agh-table th,.agh-table td{padding:.55rem .75rem;text-align:left;vertical-align:top;border-bottom:1px solid #e1d8c9}
.agh-table thead th{background:#e9e2d4;color:#1c211e;font-weight:600;white-space:nowrap}
.agh-table tbody th{font-weight:600;color:#1c211e;width:34%}
.agh-related{list-style:none !important;padding:0 !important;display:grid;gap:.5rem}
@media (min-width:640px){.agh-related{grid-template-columns:repeat(2,minmax(0,1fr))}}
.agh-related li{margin:0 !important}
.agh-related a{display:block;height:100%;border:1px solid #d4cbbd;background:#fbf8f2;padding:.7rem .9rem;text-decoration:none !important;color:#1c211e !important;line-height:1.35}
.agh-related a:hover{border-color:#8a6434}
.agh-pn{margin-top:2.5rem;display:grid;gap:.75rem}
@media (min-width:640px){.agh-pn{grid-template-columns:1fr 1fr}}
.agh-pn a{display:block;border:1px solid #d4cbbd;padding:.8rem 1rem;text-decoration:none !important;color:#1c211e !important;font-weight:500 !important;line-height:1.35}
.agh-pn span{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#8a6434;margin-bottom:.2rem}
.agh-pn__next{text-align:right;grid-column:2}
@media (max-width:639px){.agh-pn__next{grid-column:auto}}
.agh-toc{margin-top:3rem;border:1px solid #d4cbbd;background:#fbf8f2;padding:1rem 1.2rem}
.agh-toc ul{margin-top:.5rem;list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.agh-toc a,.agh-index a,.agh-home-hubs a{color:#1e3a31;font-weight:600;text-decoration:underline;text-decoration-color:#8a6434;text-underline-offset:3px}
.agh-index{margin-top:3rem;scroll-margin-top:7rem}
.agh-index h2{font-size:1.85rem;line-height:1.15;letter-spacing:-.02em;color:#1c211e}
.agh-index__hub{margin-top:.5rem;color:#3e4741}
.agh-index__list{margin-top:1rem;list-style:none;padding:0;display:grid;gap:1rem}
@media (min-width:768px){.agh-index__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem}}
.agh-index__list p{margin-top:.25rem;font-size:.95rem;line-height:1.5;color:#3e4741}
.agh-home-hubs{margin-top:1.5rem;list-style:none;padding:0;display:grid;gap:.6rem}
@media (min-width:768px){.agh-home-hubs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.agh-home-hubs li{border:1px solid #d4cbbd;background:#fbf8f2;padding:.75rem .9rem}
.agh-prose{overflow-wrap:anywhere}
@media (max-width:1023px){.agh-article-grid{grid-template-columns:minmax(0,1fr)}}
.agh-article-grid>*{min-width:0}
/* Rooms, availability form, review QR */
.agh-rooms{display:grid;gap:1rem}
@media (min-width:768px){.agh-rooms{grid-template-columns:1fr 1fr}}
.agh-room{border:1px solid #d4cbbd;background:#fbf8f2;display:flex;flex-direction:column}
.agh-room img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.agh-room__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.agh-room h3{margin:0 !important;font-family:var(--font-serif);font-size:1.35rem;letter-spacing:-.01em;text-transform:none;color:#1c211e}
.agh-room__price{font-family:var(--font-serif);font-size:1.5rem;color:#1c211e}
.agh-room__price span{display:block;font-family:var(--font-source),sans-serif;font-size:.85rem;color:#3e4741}
.agh-room ul{margin-top:.25rem}
.agh-room__cta,.agh-book__btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.6rem 1.2rem;border-radius:.5rem;background:#1d5c3c;color:#f7f3ea !important;font-weight:600;text-decoration:none !important;border:0;cursor:pointer;font-size:1rem}
.agh-room__cta:hover,.agh-book__btn:hover{background:#164830}
.agh-book{border:1px solid #c4b49a;border-left:4px solid #1d5c3c;background:#fbf8f2;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.9rem}
.agh-book__grid{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}
.agh-book__wide{grid-column:1/-1}
.agh-book label{display:flex;flex-direction:column;gap:.3rem;font-size:.875rem;font-weight:600;color:#1c211e}
.agh-book input,.agh-book select{min-height:2.75rem;padding:.45rem .6rem;border:1px solid #c4b49a;border-radius:.4rem;background:#fff;font:inherit;font-weight:400;color:#1c211e;width:100%}
.agh-book input:focus-visible,.agh-book select:focus-visible{outline:3px solid #e0c48a;outline-offset:1px}
.agh-book__note{font-size:.875rem;color:#3e4741}
.agh-qr{max-width:20rem}
.agh-qr img{width:100%;height:auto;background:#fff;padding:.5rem}
/* Jobs search and expense calculator */
.agh-jobs,.agh-calc{border:1px solid #c4b49a;border-left:4px solid #1d5c3c;background:#fbf8f2;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.9rem}
.agh-chips,.agh-calc__presets{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.agh-calc__presets span{font-size:.875rem;font-weight:600;color:#1c211e;margin-right:.25rem}
.agh-chip{border:1px solid #c4b49a;background:#fff;border-radius:999px;padding:.35rem .8rem;font:inherit;font-size:.875rem;color:#1c211e;cursor:pointer;min-height:2.25rem}
.agh-chip:hover{border-color:#1d5c3c}
.agh-chip:focus-visible{outline:3px solid #e0c48a;outline-offset:1px}
.agh-jobs__btns{display:flex;flex-wrap:wrap;gap:.5rem}
.agh-jobs__btns .agh-book__btn{margin-top:0;flex:1 1 9rem}
.agh-calc__grid small{font-weight:400;font-size:.78rem;color:#5a625d}
.agh-calc__out{display:flex;flex-direction:column;gap:.25rem;border-top:1px solid #d4cbbd;padding-top:.8rem}
.agh-calc__out strong{font-family:var(--font-serif);font-size:2rem;line-height:1.1;color:#1c211e}
.agh-calc__out span[data-out=detail]{font-size:.875rem;color:#3e4741}
.agh-calc label,.agh-jobs label{display:flex;flex-direction:column;gap:.3rem;font-size:.875rem;font-weight:600;color:#1c211e;min-width:0}
.agh-calc input,.agh-jobs input,.agh-jobs select{min-height:2.75rem;padding:.45rem .6rem;border:1px solid #c4b49a;border-radius:.4rem;background:#fff;font:inherit;font-weight:400;color:#1c211e;width:100%}
.agh-calc input:focus-visible,.agh-jobs input:focus-visible,.agh-jobs select:focus-visible{outline:3px solid #e0c48a;outline-offset:1px}
.agh-book__grid>*{min-width:0}
@media (max-width:519px){.agh-book__grid{grid-template-columns:1fr}}
/* Around-the-hostel map */
.agh-nearmap{max-width:30rem}
.agh-nearmap svg{display:block;width:100%;height:auto}
.agh-nearmap figcaption{display:flex;flex-wrap:wrap;gap:.3rem .8rem}
.agh-legend{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:#3e4741}
.agh-legend i{display:inline-block;width:.7rem;height:.7rem;border-radius:50%}
