/* La Quinta Joomla Template 1.0.1
   Core Joomla only. No third-party modules or front-end libraries required. */

:root {
  --lq-sand: #efe3c7;
  --lq-sand-light: #fbf7ee;
  --lq-papyrus: #f6efdE;
  --lq-gold: #b99143;
  --lq-gold-dark: #806126;
  --lq-nile: #0e5960;
  --lq-nile-dark: #07383d;
  --lq-night: #172124;
  --lq-ink: #2b302f;
  --lq-muted: #68706c;
  --lq-line: rgba(128,97,38,.25);
  --lq-white: #fff;
  --lq-shadow: 0 18px 50px rgba(33,36,32,.11);
  --lq-radius: 18px;
  --lq-max-width: 1280px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--lq-ink);
  background: var(--lq-sand-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.65;
  overflow-x: hidden;
}

img, svg, video { max-width: 100%; height: auto; }

a { color: var(--lq-nile); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover, a:focus { color: var(--lq-gold-dark); }

button, input, select, textarea { font: inherit; }

.skip-link {
  position: fixed; left: 1rem; top: -5rem; z-index: 9999;
  padding: .7rem 1rem; background: #fff; color: #000; border-radius: .4rem;
}
.skip-link:focus { top: 1rem; }

.lq-container {
  width: min(calc(100% - 40px), var(--lq-max-width));
  margin-inline: auto;
}

.lq-topbar {
  background: var(--lq-night);
  color: rgba(255,255,255,.8);
  font-family: Arial, Helvetica, sans-serif;
  font-size: .82rem;
}
.lq-topbar .lq-container { min-height: 38px; display:flex; align-items:center; justify-content:flex-end; }

.lq-header {
  position: relative;
  z-index: 20;
  background: rgba(251,247,238,.96);
  border-bottom: 1px solid var(--lq-line);
  box-shadow: 0 4px 25px rgba(30,40,38,.05);
}
.lq-header-inner {
  min-height: 92px;
  display:flex;
  align-items:center;
  gap: 24px;
}
.lq-brand {
  display:inline-flex;
  align-items:center;
  gap: 13px;
  color: var(--lq-night);
  text-decoration:none;
  margin-right:auto;
}
.lq-brand-mark {
  width: 48px; height: 48px; display:grid; place-items:center;
  color: var(--lq-gold);
  flex: 0 0 auto;
}
.lq-brand-mark svg { width:100%; height:100%; fill:currentColor; }
.lq-brand-copy { display:flex; flex-direction:column; line-height:1.08; }
.lq-brand-copy strong {
  letter-spacing: .22em;
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  font-weight: 600;
}
.lq-brand-copy small {
  margin-top: 6px;
  color: var(--lq-muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: .72rem;
  letter-spacing: .08em;
}

.lq-header-modules {
  display:flex; align-items:center; gap:14px;
  font-family: Arial, Helvetica, sans-serif;
}

.lq-nav {
  border-top: 1px solid rgba(128,97,38,.12);
  font-family: Arial, Helvetica, sans-serif;
}
.lq-nav .mod-menu {
  display:flex;
  align-items:center;
  justify-content:center;
  gap: clamp(12px, 2.6vw, 34px);
  list-style:none;
  margin:0;
  padding:0;
}
.lq-nav .mod-menu > li { position:relative; }
.lq-nav .mod-menu > li > a,
.lq-nav .mod-menu > li > span {
  display:block;
  padding: 16px 4px 14px;
  color: var(--lq-night);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.76rem;
  font-weight:700;
  border-bottom:2px solid transparent;
}
.lq-nav .mod-menu > li.active > a,
.lq-nav .mod-menu > li.current > a,
.lq-nav .mod-menu > li > a:hover,
.lq-nav .mod-menu > li > a:focus {
  color: var(--lq-nile);
  border-bottom-color: var(--lq-gold);
}
.lq-nav .mod-menu .mod-menu {
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  padding:10px;
  list-style:none;
  background:#fff;
  border:1px solid var(--lq-line);
  border-radius: 0 0 12px 12px;
  box-shadow:var(--lq-shadow);
}
.lq-nav .mod-menu li:hover > .mod-menu,
.lq-nav .mod-menu li:focus-within > .mod-menu { display:block; }
.lq-nav .mod-menu .mod-menu a { display:block; padding:10px 12px; text-decoration:none; color:var(--lq-ink); }

.lq-nav-toggle {
  display:none;
  border:1px solid var(--lq-line);
  background:transparent;
  color:var(--lq-night);
  border-radius:10px;
  min-height:44px;
  padding:8px 11px;
  align-items:center;
  gap:9px;
  cursor:pointer;
}
.lq-nav-toggle-label { font-family:Arial,Helvetica,sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; }
.lq-nav-toggle-icon { display:grid; gap:4px; width:21px; }
.lq-nav-toggle-icon i { display:block; height:2px; background:currentColor; border-radius:2px; }

.lq-hero {
  position:relative;
  isolation:isolate;
  min-height: clamp(400px, 58vw, 680px);
  display:grid;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 75% 30%, rgba(185,145,67,.28), transparent 27%),
    linear-gradient(120deg, rgba(7,56,61,.97), rgba(14,89,96,.88) 48%, rgba(50,50,37,.76)),
    linear-gradient(#876b3a, #c9a866);
}
.lq-hero::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:120px;
  z-index:-1;
  opacity:.32;
  background:
    linear-gradient(150deg, transparent 0 44%, rgba(0,0,0,.28) 45% 56%, transparent 57%) 0 100%/180px 110px repeat-x;
}
.lq-hero-pattern {
  position:absolute; inset:0; z-index:-1; opacity:.18;
  background-image:
    linear-gradient(30deg, transparent 40%, rgba(255,255,255,.25) 41% 43%, transparent 44%),
    linear-gradient(150deg, transparent 40%, rgba(255,255,255,.15) 41% 43%, transparent 44%);
  background-size: 70px 70px;
  mask-image: linear-gradient(to right, transparent, #000 45%, #000);
}
.lq-hero-content { padding-block: clamp(70px, 10vw, 130px); }
.lq-hero .custom,
.lq-hero .mod-custom { max-width: 760px; }
.lq-hero h1 {
  margin:0 0 20px;
  max-width: 12ch;
  font-size: clamp(3rem, 8vw, 7rem);
  line-height:.9;
  letter-spacing:-.035em;
  font-weight:500;
  text-wrap:balance;
}
.lq-hero h1::after {
  content:"";
  display:block;
  width:90px;
  height:3px;
  margin-top:28px;
  background:var(--lq-gold);
}
.lq-hero p {
  max-width: 650px;
  margin:0 0 30px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1rem,2vw,1.25rem);
  color:rgba(255,255,255,.87);
}
.lq-hero a:not(.btn) {
  display:inline-block;
  padding:12px 20px;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.6);
  border-radius:999px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.lq-section { padding-block: clamp(52px, 7vw, 90px); }
.lq-home-top { background:var(--lq-sand); }
.lq-featured-section { background:#fff; }
.lq-main { padding-block: clamp(50px, 6vw, 82px); }

.lq-main-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:48px; }
.lq-main-grid.has-sidebar { grid-template-columns:minmax(0, 1fr) minmax(250px, 330px); }

.lq-component h1,
.lq-component h2,
.lq-component h3,
.lq-section h2 {
  color:var(--lq-night);
  font-weight:500;
  line-height:1.15;
}
.lq-component h1 { font-size:clamp(2.3rem,5vw,4.6rem); }
.lq-component h2, .lq-section h2 { font-size:clamp(1.8rem,3.5vw,3rem); }

.moduletable,
.card {
  border:0;
  background:transparent;
}
.lq-featured-section .moduletable > h3,
.lq-home-top .moduletable > h3 {
  text-align:center;
  font-size:clamp(1.9rem,4vw,3.1rem);
  font-weight:500;
}

.blog-items,
.com-content-category-blog__items {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.blog-item,
.com-content-category-blog__item {
  background:#fff;
  border:1px solid var(--lq-line);
  border-radius:var(--lq-radius);
  overflow:hidden;
  box-shadow:0 10px 30px rgba(35,43,39,.06);
}
.blog-item .item-content,
.com-content-category-blog__item .item-content { padding:24px; }

.lq-sidebar .moduletable {
  padding:24px;
  margin-bottom:25px;
  background:#fff;
  border:1px solid var(--lq-line);
  border-radius:var(--lq-radius);
}

.btn,
.lq-button,
button.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border:1px solid var(--lq-nile);
  border-radius:999px;
  background:var(--lq-nile);
  color:#fff;
  text-decoration:none;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.04em;
  cursor:pointer;
}
.btn:hover,.btn:focus,.lq-button:hover,.lq-button:focus {
  color:#fff;
  background:var(--lq-nile-dark);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  width:100%;
  max-width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid rgba(38,53,51,.25);
  border-radius:8px;
  background:#fff;
}
textarea { min-height:130px; }

table { width:100%; border-collapse:collapse; }
th,td { padding:11px 12px; border-bottom:1px solid var(--lq-line); text-align:left; }

.lq-bottom {
  padding-block: clamp(45px, 6vw, 75px);
  color:#fff;
  background:var(--lq-nile);
}

.lq-footer {
  position:relative;
  overflow:hidden;
  padding:46px 0 30px;
  background:var(--lq-night);
  color:rgba(255,255,255,.73);
  font-family:Arial,Helvetica,sans-serif;
}
.lq-footer-pattern {
  height:14px;
  position:absolute; top:0; left:0; right:0;
  background:linear-gradient(135deg,var(--lq-gold) 25%,transparent 25%) -8px 0/16px 16px,
             linear-gradient(225deg,var(--lq-gold) 25%,transparent 25%) -8px 0/16px 16px;
  opacity:.8;
}
.lq-footer-inner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; }
.lq-footer-brand { color:#fff; letter-spacing:.2em; font-family:Georgia,"Times New Roman",serif; }
.lq-footer a { color:#fff; }
.lq-copyright { font-size:.78rem; }

.lq-error-page {
  min-height:100vh; display:grid; place-items:center; padding:30px;
  background:linear-gradient(145deg,var(--lq-nile-dark),var(--lq-night));
}
.lq-error-card {
  width:min(600px,100%); padding:50px; text-align:center; background:var(--lq-sand-light);
  border-radius:24px; box-shadow:var(--lq-shadow);
}
.lq-error-pyramid {
  width:80px; height:60px; margin:0 auto 20px;
  background:var(--lq-gold); clip-path:polygon(50% 0,100% 100%,0 100%);
}
.lq-error-code { font-size:5rem; line-height:1; color:var(--lq-nile); }
.lq-component-only { width:min(100% - 32px, 1100px); margin:40px auto; }



/* Explore Egypt feature cards */
.lq-feature-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  margin-top:36px;
}

.lq-feature-card {
  position:relative;
  min-height:270px;
  padding:28px 26px 25px;
  overflow:hidden;
  background:
    linear-gradient(160deg, rgba(255,255,255,.98), rgba(246,239,222,.92));
  border:1px solid var(--lq-line);
  border-radius:var(--lq-radius);
  box-shadow:0 12px 34px rgba(35,43,39,.07);
}

.lq-feature-card::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,var(--lq-gold),var(--lq-nile));
}

.lq-feature-card::after {
  content:"";
  position:absolute;
  right:-38px;
  bottom:-52px;
  width:130px;
  height:105px;
  background:var(--lq-gold);
  opacity:.06;
  clip-path:polygon(50% 0,100% 100%,0 100%);
  pointer-events:none;
}

.lq-feature-card h3 {
  margin:8px 0 15px;
  color:var(--lq-night);
  font-size:1.55rem;
  font-weight:500;
  line-height:1.15;
}

.lq-feature-card p {
  margin:0 0 18px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.95rem;
  color:var(--lq-muted);
}

.lq-feature-card p:last-child {
  margin-top:auto;
  margin-bottom:0;
}

.lq-feature-card a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--lq-nile);
  font-family:Arial,Helvetica,sans-serif;
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-decoration:none;
}

.lq-feature-card a::after {
  content:"→";
  transition:transform .18s ease;
}

.lq-feature-card a:hover::after,
.lq-feature-card a:focus::after {
  transform:translateX(4px);
}

.is-home .lq-main {
  padding-top:0;
}

@media (max-width: 980px) {
  .lq-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .blog-items,.com-content-category-blog__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lq-main-grid.has-sidebar { grid-template-columns:1fr; }
  .lq-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
}

@media (max-width: 860px) {
  .lq-header-inner { min-height:76px; }
  .lq-header-modules { margin-left:auto; }
  .lq-nav-toggle { display:inline-flex; }
  .lq-nav {
    display:none;
    border-top:1px solid var(--lq-line);
    background:#fff;
  }
  .lq-nav.is-open { display:block; }
  .lq-nav .mod-menu {
    display:block;
    padding:8px 0 16px;
  }
  .lq-nav .mod-menu > li > a,
  .lq-nav .mod-menu > li > span { padding:12px 6px; border-bottom:1px solid rgba(128,97,38,.12); }
  .lq-nav .mod-menu .mod-menu {
    display:block;
    position:static;
    min-width:0;
    padding:0 0 0 18px;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
}

@media (max-width: 640px) {
  .lq-feature-grid { grid-template-columns:1fr; }
  .lq-feature-card { min-height:0; }
  body { font-size:16px; }
  .lq-container { width:min(calc(100% - 28px),var(--lq-max-width)); }
  .lq-topbar { display:none; }
  .lq-brand-mark { width:39px; height:39px; }
  .lq-brand-copy small { display:none; }
  .lq-header-modules { display:none; }
  .lq-hero { min-height:430px; }
  .lq-hero-content { padding-block:70px; }
  .blog-items,.com-content-category-blog__items { grid-template-columns:1fr; }
  .lq-sidebar { grid-template-columns:1fr; }
  .lq-footer-inner { grid-template-columns:1fr; text-align:center; }
  .lq-footer-modules { order:3; }
  table { display:block; overflow-x:auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
}
