/* Portal-wide presentation contract, loaded after the imported reference.
   Scoped selectors are required because the reference uses ID-specific rules.
   Keep content, fonts, media identity and the reference section order intact. */
:is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) {
  --ir-radius-card: 6px;
  --ir-radius-control: 6px;
  --ir-type-title: 1.375rem;
  --ir-border: #e1e1de;
  --ir-muted: #62635f;
  --ir-ui-shadow: 0 6px 20px rgb(23 44 38 / 6%);
}
:is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) :is(h1,h2,h3,h4) { overflow-wrap: break-word; }
:is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) :is(button,input,select,textarea) { max-width: 100%; }
:is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 2px solid var(--ir-primary);
  outline-offset: 4px;
}
:is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) :is(.city-rail,.ir-card-rail,.city-jump) {
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: #b5b7b1 transparent;
}
:is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) :is(.city-card,.city-listing-card,.ir-news-card,.ir-journal-card,.offer-card) {
  min-width: 0;
  border-color: var(--ir-border);
}
:is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) :is(.city-card,.city-listing-card,.ir-news-card,.offer-card):focus-within {
  border-color: var(--ir-primary);
}
/* Card summaries are compact; full source copy remains on the detail page. */
#irhal-sites-pages.ir-city-page .city-card .city-card-copy > p,
#irhal-sites-pages .city-listing-description,
#irhal-sites-home.irhal-sites-home :is(.itinerary-card,.food-card,.festival-card) p {
  font-size: 1rem;
  line-height: 1.65;
}
#irhal-sites-pages[lang="ar"] :is(.city-card-copy > p,.city-listing-description),
#irhal-sites-home[lang="ar"] :is(.itinerary-card,.food-card,.festival-card) p { line-height: 1.85; }
#irhal-sites-pages.ir-city-page .city-card h3 { font-size: 1.375rem; }
#irhal-sites-pages .city-card .eyebrow {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
/* One visible primary action, one border per field, and a stable filter row. */
#irhal-sites-pages .city-collection-filters { gap: 12px; padding: 16px; border-radius: var(--ir-radius-control); }
#irhal-sites-pages .city-collection-filters .city-library-search { border-radius: var(--ir-radius-control); background: #fff; min-width: 0; }
#irhal-sites-pages .city-collection-filters .city-library-search input { border: 0; background: transparent; border-radius: 0; min-width: 0; width: 100%; }
#irhal-sites-pages .city-collection-filters button[type="submit"] {
  min-height: 48px; padding: 12px 24px; border: 1px solid var(--ir-primary);
  background: var(--ir-primary); color: #fff; border-radius: var(--ir-radius-control);
}
#irhal-sites-pages .city-collection-filters button[type="submit"]:hover { background: var(--ir-primary-hover); }
#irhal-sites-pages .city-listing-card { gap: 24px; }
#irhal-sites-pages .city-listing-body { gap: 12px; }
#irhal-sites-pages .city-listing-heading h3 { margin: 4px 0 0; font-size: 1.375rem; }
#irhal-sites-pages .city-listing-photo { min-height: 240px; }
#irhal-sites-pages .city-listing-actions { margin-top: auto; padding-top: 4px; }
#irhal-sites-pages .city-listing-open { min-height: 44px; border-radius: var(--ir-radius-control); }
#irhal-sites-pages .city-listing-evidence { padding: 12px 14px; }
#irhal-sites-pages .city-photo-missing { background: #f5f5f2; color: #686a63; }
#irhal-sites-pages .city-photo-missing svg { color: #8b8f83; }
/* Keep action labels visible on their coloured surfaces in every interaction state. */
:is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) .ir-button--primary:is(:link,:visited,:hover,:focus-visible) { color: #fff; }
@media (hover:hover) {
  #irhal-sites-pages :is(.city-card,.city-listing-card,.ir-news-card):hover,
  #irhal-sites-home.irhal-sites-home #cityGrid .city-card:hover { box-shadow: var(--ir-ui-shadow); border-color: #c7cbc2; }
}
@media(max-width:700px) {
  #irhal-sites-pages .city-listing-photo { min-height: 0; }
  #irhal-sites-pages .city-collection-filters { padding: 12px; }
  #irhal-sites-pages .city-collection-filters button[type="submit"] { width: 100%; }
  #irhal-sites-pages .city-listing-body { padding: 16px; }
  #irhal-sites-pages .city-section-head { align-items: flex-start; gap: 16px; }
  #irhal-sites-pages .city-section-head > div:first-child { min-width: 0; }
  #irhal-sites-pages .city-section-actions { flex-shrink: 0; }
}
@media(prefers-reduced-motion:reduce) {
  :is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) *,
  :is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) *::before,
  :is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) *::after {
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
    animation-duration: 0s !important;
  }
}
/* The same breadcrumb component precedes city, section and archive mastheads. */
#irhal-sites-pages main > .city-breadcrumb { margin: 20px 0 16px; }
#irhal-sites-pages main > .city-breadcrumb a { display: inline-flex; align-items: center; min-height: 32px; text-decoration: underline; text-underline-offset: 4px; }
/* A two-row category grid must not snap a partially visible tile to the edge. */
#irhal-sites-pages .city-collection-mode .city-jump { scroll-snap-type: none; }
/* Restored city planning resources reuse category tiles in balanced grids. */
#irhal-sites-pages.ir-city-page .city-resource-links { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); overflow:visible; white-space:normal; }
#irhal-sites-pages.ir-city-page #muslimPlanner .city-resource-links { grid-template-columns:repeat(4,minmax(0,1fr)); }
#irhal-sites-pages.ir-city-page .city-resource-links a { min-width:0; height:100%; }
@media(max-width:1000px) { #irhal-sites-pages.ir-city-page .city-resource-links {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media(max-width:700px) { #irhal-sites-pages.ir-city-page .city-resource-links,#irhal-sites-pages.ir-city-page #muslimPlanner .city-resource-links {grid-template-columns:repeat(2,minmax(0,1fr));} }

/* City discovery is navigation, not a second hero. Keep every category in two
   compact rows; smaller viewports scroll locally instead of crushing labels. */
#irhal-sites-pages.ir-city-page #cityJump.city-overview-navigation {
  display:grid;grid-template-columns:repeat(auto-fill,128px);
  grid-template-rows:none;grid-auto-rows:128px;gap:8px;overflow-x:auto;overflow-y:hidden;
  padding:3px 2px 10px;white-space:normal;overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
}
#irhal-sites-pages.ir-city-page #cityJump.city-overview-navigation a {
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:128px;min-height:128px;min-width:0;padding:10px 8px;gap:7px;
  font-size:14px;line-height:1.4;scroll-snap-align:start;
}
#irhal-sites-pages.ir-city-page #cityJump.city-overview-navigation .city-category-symbol {
  width:62px;height:58px;flex:none;
}
#irhal-sites-pages.ir-city-page #cityJump.city-overview-navigation .city-category-symbol img {
  width:60px;height:48px;
}
#irhal-sites-pages.ir-city-page #cityJump.city-overview-navigation .city-category-symbol svg {
  width:29px;height:29px;
}
#irhal-sites-pages.ir-city-page #cityJump.city-overview-navigation a>span:not(.city-category-symbol) {
  display:flex;align-items:center;justify-content:center;min-height:2.8em;
  max-width:100%;word-break:normal;overflow-wrap:normal;text-align:center;
}
#irhal-sites-pages.ir-city-page #cityJump.city-overview-navigation a>small {
  position:absolute;inset-inline-end:7px;top:7px;margin:0;font-size:12px;line-height:1.4;color:var(--ir-muted);
}
#irhal-sites-pages.ir-city-page .city-explore-bar {margin:24px 0 14px}
#irhal-sites-pages.ir-city-page #citySections>.city-section:first-child {margin-top:28px}
@media(max-width:700px){
  #irhal-sites-pages.ir-city-page #cityJump.city-overview-navigation {
    grid-template-columns:repeat(var(--city-navigation-columns),128px);grid-template-rows:repeat(2,128px);
  }
}

/* Practical articles reuse square imagery at a bounded card width. */
#irhal-sites-pages.ir-city-page .city-practical-section .city-rail {--card-width:280px;gap:24px}
#irhal-sites-pages.ir-city-page .city-practical-section .city-card-photo {aspect-ratio:1;height:auto;max-height:none;min-height:0}
#irhal-sites-pages.ir-city-page .city-practical-section .city-card-copy {padding:14px 16px}
#irhal-sites-pages.ir-city-page .city-practical-section .city-card h3 {min-height:0;margin-bottom:10px}
#irhal-sites-pages.ir-city-page .city-practical-section .city-card-copy p {margin:0}
@media(max-width:700px){
#irhal-sites-pages.ir-city-page .city-practical-section .city-rail {--card-width:min(280px,85%);gap:16px}
#irhal-sites-pages.ir-city-page .city-practical-section .city-card-photo {max-height:none}
}

#irhal-sites-pages.ir-city-page .city-practical-section .city-card {flex:0 0 var(--card-width);min-width:0;max-width:280px}

/* Shared composition, November 2026. This is the presentation authority over
   imported reference CSS, not a second per-page theme. */
:is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) {
  --ir-section-space: clamp(36px,4vw,64px);
  --ir-copy-space: 16px;
}
#irhal-sites-pages.ir-city-page .city-section {margin-top:var(--ir-section-space)}
#irhal-sites-pages.ir-city-page .city-section-head {margin-bottom:24px;align-items:center}
#irhal-sites-pages.ir-city-page .city-destination-cover {min-height:0;height:auto}
#irhal-sites-pages.ir-city-page .city-cover-copy {min-height:360px;height:auto;padding:72px 32px 28px;max-width:900px}
#irhal-sites-pages.ir-city-page .city-cover-copy h1 {font-size:clamp(32px,3.4vw,48px);line-height:1.2;margin:10px 0 16px}
#irhal-sites-pages.ir-city-page .city-cover-copy>p {max-width:62ch;font-size:18px;line-height:1.6;margin-bottom:20px}
#irhal-sites-pages.ir-city-page .city-cover-copy .ir-inner-finder {margin-top:16px}
#irhal-sites-pages.ir-city-page .city-cover-actions {top:16px;inset-inline-end:20px}
#irhal-sites-pages.ir-city-page .city-collection-mode .city-destination-cover {height:180px;min-height:0}
#irhal-sites-pages.ir-city-page .city-collection-mode .city-cover-copy {height:100%;min-height:0;padding:24px 28px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
#irhal-sites-pages.ir-city-page .city-collection-mode .city-cover-copy h1 {margin:0;font-size:clamp(28px,3vw,40px);line-height:1.3;color:white}
#irhal-sites-pages .city-cover-parent {color:white;text-decoration:underline;text-underline-offset:4px;font-size:16px}
#irhal-sites-pages.ir-city-page .city-collection-library {margin-top:24px;padding-top:0}
#irhal-sites-pages .city-collection-summary {max-width:75ch;margin:16px 0;line-height:1.65}
#irhal-sites-pages .city-library-summary {padding:16px 0;margin:0 0 24px}
/* Same artwork, dimensions and wrapping in city and section navigation. */
#irhal-sites-pages.ir-city-page .city-collection-mode #cityJump.city-overview-navigation {grid-template-columns:repeat(auto-fill,128px);grid-template-rows:none;grid-auto-rows:128px;gap:8px;margin-top:20px}
#irhal-sites-pages.ir-city-page .city-collection-mode #cityJump.city-overview-navigation a {height:128px;min-height:128px;padding:10px 8px;gap:7px}
#irhal-sites-pages.ir-city-page .city-collection-mode #cityJump.city-overview-navigation .city-category-symbol {width:62px;height:58px}
#irhal-sites-pages.ir-city-page .city-collection-mode #cityJump.city-overview-navigation .city-category-symbol img {width:60px;height:48px}
/* Contextual archive search: the collection already supplies the page identity. */
#irhal-sites-pages :is(.ir-news-tools,.ir-journal-library-top) .ir-inner-finder {background:#f5f5f5;color:var(--ir-ink);border:1px solid var(--ir-border);padding:16px;margin:0;box-shadow:none}
#irhal-sites-pages :is(.ir-news-tools,.ir-journal-library-top) .ir-inner-finder>h2 {display:none}
#irhal-sites-pages .ir-offer-filter-disclosure {margin:24px 0}
/* Keep repeat directories useful without repeating large artwork panels. */
/* Search is an action, not a competing red hero. */
#irhal-sites-home.irhal-sites-home .ir-lead--stories .ir-search-spotlight {background:white;border:1px solid var(--ir-border);padding:16px 20px;box-shadow:var(--ir-ui-shadow);margin-top:-24px}
#irhal-sites-home.irhal-sites-home .ir-search-spotlight #finderHeading {color:var(--ir-ink);font-size:20px}
#irhal-sites-home.irhal-sites-home .ir-lead--stories .ir-search-spotlight .search-bar {border:1px solid #b9bec5}
#irhal-sites-home.irhal-sites-home .ir-lead--stories .ir-search-spotlight .search-bar>button {background:var(--ir-primary);border-color:var(--ir-primary);color:white}
#irhal-sites-home.irhal-sites-home .ir-search-spotlight .ir-quick-finds button {color:var(--ir-ink);border-color:var(--ir-border);background:white;min-height:44px}
#irhal-sites-home.irhal-sites-home .ir-search-spotlight .ir-quick-finds button:hover {color:var(--ir-primary);border-color:var(--ir-primary)}
#irhal-sites-home.irhal-sites-home .ir-search-spotlight .ir-quick-finds button:focus-visible {outline-color:var(--ir-primary)}
@media(max-width:700px) {
  :is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) header.ir-site-header .brand {display:flex;flex:0 0 auto;min-width:112px}
  :is(#irhal-sites-home,#irhal-sites-pages,#irhal-sites-legacy) header.ir-site-header .brand .irhal-logo {display:block;width:112px!important;height:auto}
  #irhal-sites-pages.ir-city-page .city-cover-copy {min-height:0;padding:84px 20px 24px}
  #irhal-sites-pages.ir-city-page .city-cover-copy h1 {font-size:32px}
  #irhal-sites-pages.ir-city-page .city-cover-copy>p {font-size:16px;line-height:1.65}
  #irhal-sites-pages.ir-city-page .city-cover-actions {inset-inline:16px;top:16px;justify-content:space-between}
  #irhal-sites-pages.ir-city-page .city-collection-mode .city-destination-cover {height:156px}
  #irhal-sites-pages.ir-city-page .city-collection-mode .city-cover-copy {padding:20px}
  #irhal-sites-pages.ir-city-page .city-collection-mode #cityJump.city-overview-navigation {grid-template-columns:repeat(var(--city-navigation-columns),128px);grid-template-rows:repeat(2,128px)}
  #irhal-sites-pages.ir-city-page .city-section-head {gap:12px;margin-bottom:16px}
  #irhal-sites-pages.ir-city-page .city-section-head h2 {font-size:24px;line-height:1.4}
  #irhal-sites-home.irhal-sites-home .ir-lead--stories .ir-search-spotlight {width:100%;margin-top:0;padding:16px;border-radius:0}
  #irhal-sites-home.irhal-sites-home .ir-search-spotlight .ir-quick-finds {display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px;gap:8px}
  #irhal-sites-home.irhal-sites-home .ir-search-spotlight .ir-quick-finds button {flex:0 0 auto;white-space:nowrap}
}
/* Avoid compound top padding between the shared header and breadcrumb. */
#irhal-sites-pages main {padding-top:12px}
#irhal-sites-pages :is(main>.city-breadcrumb,.city-collection-mode>.city-breadcrumb) {margin:12px 0 16px}
@media(max-width:700px) {
  #irhal-sites-home.irhal-sites-home .ir-lead--stories .ir-story-carousel {height:340px;min-height:340px}
  #irhal-sites-home.irhal-sites-home .ir-story-carousel .intro {top:24px;bottom:auto;padding:0;inset-inline:24px;height:auto}
  #irhal-sites-home.irhal-sites-home .ir-story-carousel .intro h1 {font-size:28px;line-height:1.25;margin:12px 0 20px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
  #irhal-sites-home.irhal-sites-home .ir-search-spotlight .ir-quick-finds button {width:auto;max-width:none}
}
#irhal-sites-pages .city-collection-summary {font-size:16px;max-width:none;margin:12px 0}
#irhal-sites-pages .city-library-summary :is(p,a) {margin:0;line-height:1.5}
#irhal-sites-pages .city-library-summary {padding:12px 0;margin-bottom:20px}
@media(max-width:700px) {
  #irhal-sites-home.irhal-sites-home.ir-home-page .ir-lead--stories .hero.ir-story-carousel {height:340px;min-height:0}
}
/* Archive discovery cards share square media and compact, aligned copy. */
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-grid,.offers-grid,.ir-news-archive) {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-card,.offer-card,.ir-news-archive-card) {grid-column:auto;display:flex;flex-direction:column;min-width:0}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-card-photo,.offer-art,.ir-news-card-image) {display:block;aspect-ratio:1;min-height:0;height:auto;overflow:hidden;flex:none}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-card-photo,.offer-art,.ir-news-card-image) img {display:block;width:100%;height:100%;object-fit:cover}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-card-copy,.offer-content,.ir-news-card-copy) {padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-card-copy h3,.offer-content h2,.ir-news-card-copy h3) {font-size:22px;line-height:1.4;margin:0;min-height:2.8em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-card-copy,.offer-content,.ir-news-card-copy)>p:not(.ir-offer-key-terms) {font-size:16px;line-height:1.65;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-read,.ir-news-card-end) {margin-top:auto;padding-top:12px}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-news-tools,.ir-journal-library-top) .ir-inner-finder form {width:100%;max-width:none;display:flex;gap:12px}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-news-tools,.ir-journal-library-top) .ir-inner-finder form label {flex:1;min-width:0}
#irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-news-tools,.ir-journal-library-top) .ir-inner-finder form button {background:var(--ir-primary);color:white;flex:none}
#irhal-sites-pages[lang="ar"] :is(.ir-journal-card-copy,.offer-content,.ir-news-card-copy)>p {line-height:1.85}
@media(min-width:701px) and (max-width:1050px) {
  #irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-grid,.offers-grid,.ir-news-archive) {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px) {
  #irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-journal-grid,.offers-grid,.ir-news-archive) {grid-template-columns:minmax(0,1fr);gap:24px}
  #irhal-sites-pages:is(.ir-stories-page,.ir-news-page,.ir-offers-page) :is(.ir-news-tools,.ir-journal-library-top) .ir-inner-finder form {flex-wrap:wrap}
}
#irhal-sites-pages :is(#journalSearchForm,#newsSearchForm) {width:100%;max-width:none}
/* Reference offer rules also target the grid ID; match that scope explicitly. */
#irhal-sites-pages.ir-offers-page #allOffersGrid .offer-art {aspect-ratio:1;height:auto;min-height:0}
#irhal-sites-pages.ir-offers-page #allOffersGrid .offer-content h2 {font-size:22px;line-height:1.4;min-height:2.8em;margin:0}
#irhal-sites-pages.ir-offers-page #allOffersGrid .offer-content {justify-content:flex-start}
#irhal-sites-pages.ir-offers-page #allOffersGrid .offer-content>.ir-link {margin-top:auto}

/* Deal marketplace: dedicated shared cards, not editorial article variants.
   Scoped overrides are required by the imported reference's ID selectors. */
#irhal-sites-pages .ir-deals-intro {max-width:900px;margin:28px 0 24px}
#irhal-sites-pages .ir-deals-intro h1 {font-size:clamp(30px,3.2vw,46px);line-height:1.18;margin:12px 0 16px}
#irhal-sites-pages .ir-deals-intro p {max-width:760px;font-size:18px;line-height:1.65;color:var(--muted,#62635e)}
#irhal-sites-pages .ir-offer-filters {display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr auto;align-items:end;gap:12px;margin:0}
#irhal-sites-pages .ir-offer-filters label {display:grid;gap:8px;min-width:0;font-size:14px}
#irhal-sites-pages .ir-offer-filters input,#irhal-sites-pages .ir-offer-filters select {width:100%;min-width:0;min-height:46px;box-sizing:border-box}
#irhal-sites-pages .ir-offer-filters button {min-height:46px;white-space:nowrap}
#irhal-sites-pages .ir-deals-booking-note {font-size:13px;line-height:1.6;margin:12px 0 32px;color:var(--muted,#62635e)}
#irhal-sites-pages .ir-deals-category-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
#irhal-sites-pages .ir-deals-category-grid>a {display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--line,#ddd);border-radius:4px;min-width:0;color:inherit;text-decoration:none;transition:border-color .15s,background .15s}
#irhal-sites-pages .ir-deals-category-grid>a:hover {border-color:var(--red,#c71912);background:var(--paper,#f8f7f4)}
#irhal-sites-pages .ir-deals-category-grid>a>span:nth-child(2) {flex:1;font-size:15px;line-height:1.45}
#irhal-sites-pages .ir-deals-category-grid small {display:block;color:var(--muted,#62635e);font-size:13px;margin-top:6px}
#irhal-sites-pages .ir-deals-category-icon {color:var(--red,#c71912)}
#irhal-sites-pages .ir-deals-category-grid svg {width:24px;height:24px;flex-shrink:0}
#irhal-sites-pages .ir-deals-group {margin-top:48px;scroll-margin-top:120px}
#irhal-sites-pages #offers-results {scroll-margin-top:120px}
#irhal-sites-pages .ir-deals-section-heading {display:flex;justify-content:space-between;align-items:end;gap:24px;margin:32px 0 20px}
#irhal-sites-pages .ir-deals-section-heading h2,#irhal-sites-pages .ir-deals-categories h2 {font-size:26px;line-height:1.3;margin:0}
#irhal-sites-pages .ir-deals-section-heading p {font-size:16px;line-height:1.6;color:var(--muted,#62635e);margin:8px 0 0;max-width:740px}
#irhal-sites-pages .ir-deals-section-heading>a {flex-shrink:0;color:var(--red,#c71912);font-size:15px}
#irhal-sites-pages .ir-deal-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;align-items:stretch}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-card {display:flex;flex-direction:column;min-width:0;border:1px solid var(--line,#ddd);border-radius:4px;overflow:hidden;background:#fff;color:var(--ink,#262827)}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-photo {display:block;aspect-ratio:1;overflow:hidden}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-photo img {display:block;width:100%;height:100%;object-fit:cover}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-body {display:flex;flex:1;flex-direction:column;gap:12px;padding:18px}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-body p {margin:0}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-destination {font-size:13px;line-height:1.5;color:var(--muted,#62635e)}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-body h3 {font-size:20px;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-body h3 a {color:inherit;text-decoration:none}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-summary {font-size:15px;line-height:1.6;color:var(--muted,#62635e);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-value {font-size:17px;line-height:1.5;font-weight:600;color:var(--red,#c71912);padding-top:4px}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-meta {display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:12px;line-height:1.6;color:var(--muted,#62635e)}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-action {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line,#ddd);color:var(--red,#c71912);font-size:15px;text-decoration:none}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-action svg {flex-shrink:0;width:20px;height:20px}
:is(#irhal-sites-pages,#irhal-sites-home)[dir=rtl] .ir-deal-action svg {transform:rotate(180deg)}
#irhal-sites-pages .ir-deals-assurance {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;border-top:1px solid var(--line,#ddd);padding:32px 0;margin-top:48px}
#irhal-sites-pages .ir-deals-assurance h2 {font-size:24px;margin:0 0 12px}
#irhal-sites-pages .ir-deals-assurance h3 {font-size:17px;margin:0 0 12px}
#irhal-sites-pages .ir-deals-assurance p {font-size:15px;line-height:1.6;color:var(--muted,#62635e);margin:0}
@media(max-width:1000px){
 #irhal-sites-pages .ir-offer-filters {grid-template-columns:repeat(2,minmax(0,1fr))}
 #irhal-sites-pages .ir-deals-category-grid,#irhal-sites-pages .ir-deals-assurance {grid-template-columns:repeat(2,minmax(0,1fr))}
 #irhal-sites-pages .ir-deal-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
 #irhal-sites-pages .ir-deals-intro p {font-size:16px}
 #irhal-sites-pages .ir-offer-filters {grid-template-columns:minmax(0,1fr)}
 #irhal-sites-pages .ir-deal-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 #irhal-sites-pages .ir-deals-category-grid {grid-template-columns:minmax(0,1fr);gap:8px}
 #irhal-sites-pages .ir-deals-category-grid>a {padding:12px}
 #irhal-sites-pages .ir-deals-assurance {grid-template-columns:minmax(0,1fr);gap:24px}
 #irhal-sites-pages .ir-deals-section-heading {align-items:start;gap:12px}
 #irhal-sites-pages .ir-deals-section-heading h2 {font-size:23px}
}
/* Homepage keeps its established horizontal rail, using the same deal anatomy. */
#irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail {grid-template-columns:none;grid-auto-flow:column}
#irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail .ir-deal-body {gap:10px;padding:16px}
#irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail .ir-deal-body h3 {color:var(--ink,#262827);font-size:18px;line-height:1.4;margin:0;min-height:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
#irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail .ir-deal-body p {margin:0}
#irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail .ir-deal-destination {font-size:13px;line-height:1.5}
#irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail .ir-deal-summary {font-size:14px;line-height:1.5}
#irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail .ir-deal-value {font-size:16px;line-height:1.5}
@media (min-width:360px) and (max-width:600px) {
 #irhal-sites-pages .ir-offer-filters {grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:12px 8px}
 #irhal-sites-pages .ir-offer-filters input,#irhal-sites-pages .ir-offer-filters select {font-size:14px;padding-inline:8px}
 #irhal-sites-pages .ir-offer-filters button {grid-column:1/-1}
}
[dir=rtl] :is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-action svg,
[dir=rtl] #irhal-sites-pages .ir-deals-category-grid>a>span:last-child svg {transform:rotate(180deg)}
:is(#irhal-sites-pages,#irhal-sites-home) .ir-deal-card .ir-deal-credit {font-size:11px;line-height:1.5;color:var(--muted,#62635e);padding:8px 16px 0;margin:0}

/* Fixed desktop offer columns: sparse categories never stretch their cards. */
#irhal-sites-pages .ir-deal-body {padding:12px;gap:8px}
#irhal-sites-pages .ir-deal-body h3 {font-size:16px;line-height:1.4}
#irhal-sites-pages .ir-deal-summary {font-size:14px;line-height:1.5}
#irhal-sites-pages .ir-deal-value {font-size:14px;line-height:1.5}
#irhal-sites-pages .ir-deal-action {font-size:13px;padding-top:10px}
#irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail {grid-auto-columns:calc((100% - 80px)/5);gap:20px}
@media(min-width:1440px){
 #irhal-sites-pages .ir-deal-grid {grid-template-columns:repeat(6,minmax(0,1fr))}
 #irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail {grid-auto-columns:calc((100% - 100px)/6)}
}
@media(min-width:1001px) and (max-width:1199px){
 #irhal-sites-pages .ir-deal-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1000px){
 #irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail {grid-auto-columns:calc((100% - 40px)/3)}
}
@media(max-width:700px){
 #irhal-sites-pages .ir-deal-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 #irhal-sites-home.irhal-sites-home.ir-home-page #offers #offersGrid.ir-card-rail {grid-auto-columns:72%;gap:16px}
}
@media(max-width:479px){
 #irhal-sites-pages .ir-deal-grid {grid-template-columns:minmax(0,1fr)}
}

/* Islamic destination hub shares editorial cards, with compact directory density. */
#irhal-sites-pages .ir-islamic-jumps {display:flex;flex-wrap:wrap;gap:12px;margin-block:24px}
#irhal-sites-pages .ir-islamic-destinations {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;align-items:stretch}
#irhal-sites-pages .ir-islamic-destinations .ir-journal-card-copy h3 {min-height:0;font-size:18px}
#irhal-sites-pages :is(#muslim-destinations,#muslim-stories) {scroll-margin-top:120px}
#irhal-sites-pages #muslim-stories>.ir-button {margin-block-start:24px}
@media(max-width:1000px){#irhal-sites-pages .ir-islamic-destinations {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#irhal-sites-pages .ir-islamic-destinations {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
#irhal-sites-pages .ir-islamic-hub :is(.ir-journal-masthead,.ir-journal-library-top) {display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);align-items:end;gap:32px}
@media(max-width:700px){#irhal-sites-pages .ir-islamic-hub :is(.ir-journal-masthead,.ir-journal-library-top) {grid-template-columns:minmax(0,1fr);gap:12px}}

/* Legacy route families inherit the same tokens as native Astro templates. */
#irhal-sites-legacy #portal-content :is(.font-editorial,.font-display) {font-family:inherit}
#irhal-sites-legacy #portal-content :is(.rounded-xl,.rounded-2xl,.rounded-3xl) {border-radius:6px}
#irhal-sites-legacy #portal-content h1 {font-size:clamp(28px,3.5vw,48px);line-height:1.2;letter-spacing:normal;font-weight:500}
#irhal-sites-legacy #portal-content :is(h2,h3) {letter-spacing:normal;line-height:1.4}
#irhal-sites-legacy #portal-content nav[aria-label="Planning categories"] {grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
#irhal-sites-legacy #portal-content nav[aria-label="خيارات التخطيط"] {grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
/* Shared shadcn actions keep contrast and control geometry under reference links. */
#irhal-sites-legacy #portal-content [data-slot="button"] {border-radius:var(--ir-radius-control);min-height:44px}
#irhal-sites-legacy #portal-content [data-slot="button"].text-white,
#irhal-sites-legacy #portal-content :is(a,button).bg-irhal-red.text-white {color:#fff}
#irhal-sites-legacy #portal-content [data-slot="button"] svg {color:currentColor}
#irhal-sites-legacy #portal-content [data-slot="button"]:is(.text-ink,.text-portal-text,.text-irhal-charcoal) {color:var(--ir-ink)}

/* Body-mounted search popover avoids clipping by hero/carousel overflow. */
.ir-search-suggestions{position:fixed;z-index:1100;overflow:auto;overscroll-behavior:contain;background:#fff;color:#292927;border:1px solid #dedbd5;border-radius:4px;box-shadow:0 8px 24px #0002;padding:6px;font:inherit;text-align:start}
.ir-search-suggestions[hidden]{display:none}
.ir-search-suggestions a{display:block;padding:12px;text-decoration:none;color:inherit;border-radius:3px;min-height:48px}
.ir-search-suggestions a:is(:hover,[aria-selected=true]){background:#f8f0ed;color:#b71b13}
.ir-search-suggestions strong{display:block;font-size:16px;font-weight:500;line-height:1.4}
.ir-search-suggestions span,.ir-search-suggestions p{display:block;font-size:14px;line-height:1.5;color:#615e59}
.ir-search-suggestions p{margin:8px}
