/* =========================================================
   Al-Suqoor Sports Club — landing theme
   ========================================================= */
:root {
  --sq-red: #e1262c;
  --sq-red-dark: #a80f17;
  --sq-black: #050607;
  --sq-black-2: #0a0d10;
  --sq-black-3: #12161b;
  --sq-white: #ffffff;
  --sq-offwhite: #f5f4f1;
  --sq-gray: #aeb4bd;
  --sq-line: rgba(255,255,255,.12);
  --sq-shadow: 0 24px 70px rgba(0,0,0,.22);
  --sq-header-height: 92px;
  --sq-font-ar: "Cairo", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  direction: rtl;
  color: #181b20;
  background: var(--sq-offwhite);
  font-family: var(--sq-font-ar);
  line-height: 1.8;
  overflow-x: hidden;
}
body.sq-nav-open, body.sq-lightbox-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }

/* Enforce Cairo across WordPress and Elementor text without overriding icon fonts. */
body,
button, input, textarea, select,
.sq-site-header, .sq-site-main, .sq-site-footer,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-button .elementor-button,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-image-box .elementor-image-box-title,
.elementor-widget-image-box .elementor-image-box-description,
.elementor-widget-counter .elementor-counter-title,
.elementor-widget-counter .elementor-counter-number-wrapper,
.elementor-widget-tabs .elementor-tab-title,
.elementor-widget-accordion .elementor-tab-title,
.elementor-widget-toggle .elementor-tab-title {
  font-family: var(--sq-font-ar) !important;
}
.screen-reader-text {
  position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.sq-skip-link { position: fixed; z-index: 99999; top: -60px; right: 18px; padding: 10px 18px; color:#fff; background:var(--sq-red); }
.sq-skip-link:focus { top: 18px; }
.sq-container { width: min(100% - 48px, 1220px); margin-inline: auto; }
.sq-site-main { min-height: 60vh; }
.elementor-location-single, .elementor-location-archive { direction: rtl; }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1220px; }

/* Header */
.sq-site-header { position: relative; z-index: 1000; color: #fff; background: #050607; }
.sq-site-header.is-scrolled { position: sticky; top: 0; box-shadow: 0 15px 50px rgba(0,0,0,.35); }
.admin-bar .sq-site-header.is-scrolled { top: 32px; }
.sq-topbar { height: 34px; border-bottom: 1px solid rgba(255,255,255,.07); color: #949ba5; background: #020303; font-size: 11px; }
.sq-topbar__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.sq-topbar__links { display: flex; align-items: center; gap: 22px; }
.sq-topbar a { color: #bfc4ca; transition: color .2s ease; }
.sq-topbar a:hover { color: var(--sq-red); }
.sq-navbar { border-bottom: 1px solid rgba(255,255,255,.06); background: rgba(6,8,10,.98); }
.sq-navbar__inner { min-height: var(--sq-header-height); display: flex; align-items: center; gap: 34px; }
.sq-brand { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.sq-brand img, .sq-brand .custom-logo { width: 58px; height: 68px; object-fit: contain; }
.sq-brand .custom-logo-link { display: flex; }
.sq-brand__text { display: grid; line-height: 1.25; }
.sq-brand__text strong { color: #fff; font-size: 18px; font-weight: 800; }
.sq-brand__text small { margin-top: 4px; color: #7e858f; font-size: 8px; letter-spacing: 1px; direction: ltr; }
.sq-primary-nav { margin-inline: auto; }
.sq-menu { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.sq-menu > li { position: relative; }
.sq-menu > li > a { position: relative; min-height: var(--sq-header-height); display: flex; align-items: center; color: #e9e9ea; font-size: 14px; font-weight: 700; white-space: nowrap; transition: color .2s ease; }
.sq-menu > li > a::after {
  content:""; position:absolute; right:50%; bottom:15px; width:0; height:3px;
  background:var(--sq-red); transform:translateX(50%); transition:width .22s ease;
}
.sq-menu > li:hover > a, .sq-menu > li.current-menu-item > a, .sq-menu > li.current_page_item > a,
.sq-menu > li.current-menu-parent > a, .sq-menu > li.current-menu-ancestor > a, .sq-menu > li.sq-current-section > a { color:#fff; }
.sq-menu > li:hover > a::after, .sq-menu > li.current-menu-item > a::after, .sq-menu > li.current_page_item > a::after,
.sq-menu > li.current-menu-parent > a::after, .sq-menu > li.current-menu-ancestor > a::after, .sq-menu > li.sq-current-section > a::after { width:38px; }
.sq-header-cta, .sq-btn {
  min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 26px;
  border: 1px solid transparent; font-weight: 800; line-height: 1.2; transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.sq-header-cta { color:#fff; background:var(--sq-red); clip-path:polygon(8% 0,100% 0,100% 75%,92% 100%,0 100%,0 25%); white-space:nowrap; }
.sq-header-cta:hover, .sq-btn:hover { transform:translateY(-2px); }
.sq-menu-toggle { display:none; width:48px; height:46px; padding:11px; border:1px solid rgba(255,255,255,.16); color:#fff; background:transparent; cursor:pointer; }
.sq-menu-toggle > span:not(.screen-reader-text) { display:block; height:2px; margin:5px 0; background:#fff; }

/* Shared */
.sq-kicker, .sq-el-kicker, .sq-el-eyebrow {
  margin:0 0 10px; color:var(--sq-red); font-size:12px; font-weight:900; letter-spacing:.2px;
}
.sq-kicker::before, .sq-el-kicker .elementor-heading-title::before, .sq-el-eyebrow .elementor-heading-title::before {
  content:""; display:inline-block; width:34px; height:2px; margin-left:12px; vertical-align:middle; background:var(--sq-red);
}
.sq-btn--primary { color:#fff; background:var(--sq-red); }
.sq-btn--primary:hover { background:var(--sq-red-dark); }
.sq-btn--ghost { color:#fff; border-color:rgba(255,255,255,.35); background:rgba(0,0,0,.2); }
.sq-btn--ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.sq-btn--light { color:#15171a; background:#fff; }
.sq-btn--dark { color:#fff; background:#08090a; }
.sq-section-head { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:44px; }
.sq-section-head > div { max-width:720px; }
.sq-section-head > p { max-width:430px; margin:0; color:#696e75; }
.sq-section-head h2 { margin:0; font-size:clamp(36px,4.7vw,66px); line-height:1.22; letter-spacing:-1.4px; }
.sq-section-head--light h2 { color:#fff; }
.sq-section-head--light > p { color:#a7adb5; }

/* Hero fallback + Elementor */
.sq-fallback-hero, .sq-el-hero {
  position:relative; min-height:760px; overflow:hidden; color:#fff; background-size:cover!important; background-position:center!important;
}
.sq-fallback-hero { display:flex; align-items:center; }
.sq-fallback-hero::before, .sq-el-hero::before {
  content:""; position:absolute; z-index:1; top:-12%; left:8%; width:125px; height:130%; background:linear-gradient(180deg,rgba(225,38,44,.62),rgba(120,7,12,.22)); transform:skewX(-22deg);
}
.sq-fallback-hero::after, .sq-el-hero::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(130deg,transparent 42%,rgba(255,255,255,.025) 42%,rgba(255,255,255,.025) 43%,transparent 43%);
  background-size:82px 82px;
}
.sq-fallback-hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.75)); }
.sq-fallback-hero__grid { position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:54px; padding-block:88px 72px; }
.sq-fallback-hero__copy { max-width:720px; }
.sq-fallback-hero h1, .sq-el-hero-title .elementor-heading-title {
  margin:12px 0 24px; color:#fff; font-size:clamp(54px,5.25vw,92px); font-weight:900; line-height:1.14; letter-spacing:-3px; white-space:nowrap;
}
.sq-fallback-hero h1 span, .sq-el-hero-title .elementor-heading-title span { color:var(--sq-red); }
.sq-hero-line { display:block; white-space:nowrap; }
.sq-hero-line--light { color:#fff!important; }
.sq-hero-line--red { color:var(--sq-red)!important; }
.sq-fallback-hero__copy > p:not(.sq-kicker), .sq-el-hero-text { max-width:670px; color:#c7cbd1; font-size:19px; line-height:2; }
.sq-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.sq-actions--center { justify-content:center; }
.sq-fallback-hero__mark, .sq-el-hero-mark { position:relative; padding:45px; }
.sq-fallback-hero__mark::before, .sq-el-hero-mark::before {
  content:""; position:absolute; inset:7%; border:1px solid rgba(255,255,255,.16); transform:skewX(-8deg);
}
.sq-fallback-hero__mark::after, .sq-el-hero-mark::after {
  content:""; position:absolute; right:5%; left:5%; bottom:7%; height:5px; background:var(--sq-red);
}
.sq-fallback-hero__mark img, .sq-el-hero-logo img {
  position:relative; z-index:2; width:min(430px,90%); max-height:510px; margin-inline:auto; object-fit:contain; filter:drop-shadow(0 28px 45px rgba(0,0,0,.6));
}
.sq-scroll-cue { position:absolute; z-index:4; right:50%; bottom:22px; width:28px; height:52px; border:1px solid rgba(255,255,255,.32); border-radius:20px; transform:translateX(50%); }
.sq-scroll-cue span { position:absolute; top:10px; right:50%; width:4px; height:8px; border-radius:4px; background:var(--sq-red); transform:translateX(50%); animation:sqScroll 1.8s infinite; }
@keyframes sqScroll { 0%{opacity:0;transform:translate(50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(50%,19px)} }

/* Content sections */
.sq-fallback-section { padding:105px 0; }
.sq-about-section { background:#f6f4f0; }
.sq-two-col { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:78px; }
.sq-about-copy h2, .sq-fallback-section > .sq-container > h2, .sq-contact-layout h2 {
  margin:0 0 22px; font-size:clamp(38px,4.8vw,68px); line-height:1.25; letter-spacing:-1.3px;
}
.sq-about-copy h2 span, .sq-fallback-section h2 span { color:var(--sq-red); }
.sq-about-copy p { margin:0 0 18px; color:#565b62; font-size:17px; }
.sq-about-copy .sq-btn { margin-top:12px; }
.sq-history-visual { position:relative; padding:0 0 34px 34px; }
.sq-history-visual::before { content:""; position:absolute; top:-18px; left:-18px; width:78%; height:85%; border:2px solid var(--sq-red); }
.sq-feature-image { position:relative; z-index:1; width:100%; min-height:430px; object-fit:cover; box-shadow:var(--sq-shadow); filter:saturate(.92) contrast(1.02); }
.sq-history-year { position:absolute; z-index:2; left:0; bottom:0; padding:12px 22px; color:#fff; background:var(--sq-red); font-size:32px; font-weight:900; }

.sq-milestones-section { color:#fff; background:var(--sq-black-2); }
.sq-milestones { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; background:transparent; }
.sq-milestones article { position:relative; min-height:310px; padding:38px 30px; border:1px solid rgba(225,38,44,.32); border-top:4px solid var(--sq-red); background:#fff; box-shadow:0 18px 42px rgba(0,0,0,.28); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.sq-milestones article:hover { z-index:2; border-color:var(--sq-red); background:#fff; box-shadow:0 24px 54px rgba(0,0,0,.36),0 0 0 1px rgba(225,38,44,.12); transform:translateY(-8px); }
.sq-milestones article::after { content:""; position:absolute; right:0; bottom:0; width:48px; height:4px; background:var(--sq-red); }
.sq-milestones strong { display:block; margin-bottom:32px; color:var(--sq-red); font-size:44px; font-weight:900; line-height:1; }
.sq-milestones h3 { margin:0 0 12px; color:#171a1f; font-size:20px; }
.sq-milestones p { margin:0; color:#555b63; font-size:14px; }

.sq-organization-section { position:relative; color:#fff; background:#07090b; overflow:hidden; }
.sq-organization-section::before { content:""; position:absolute; inset:0; opacity:.06; background:linear-gradient(135deg,transparent 49%,#fff 50%,transparent 51%); background-size:68px 68px; }
.sq-organization-section > .sq-container { position:relative; z-index:1; }
.sq-org-flow { margin:20px 0 46px; text-align:center; }
.sq-org-node { width:max-content; max-width:100%; margin-inline:auto; padding:15px 28px; border:1px solid rgba(255,255,255,.16); color:#fff; background:#161b21; font-size:19px; font-weight:900; }
.sq-org-node--top { background:var(--sq-red); }
.sq-org-node--executive { margin-top:30px; background:#0d7070; }
.sq-org-branches { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }
.sq-org-branches span { padding:10px 16px; border-top:3px solid var(--sq-red); background:#14191e; color:#e7e8e9; font-size:13px; font-weight:700; }
.sq-org-branches--offices span:nth-child(even) { border-top-color:#10a0c9; }
.sq-org-chart-link { display:block; position:relative; max-width:1120px; margin-inline:auto; padding:16px; border:1px solid rgba(255,255,255,.12); background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.35); cursor:zoom-in; }
.sq-org-chart-link img { width:100%; }
.sq-org-chart-link span { position:absolute; left:26px; bottom:26px; padding:9px 16px; color:#fff; background:rgba(5,6,7,.85); font-size:12px; }

.sq-fallback-gallery { color:#fff; background:#0b0e11; }
.sq-gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.sq-gallery-grid figure { position:relative; margin:0; overflow:hidden; background:#15191d; }
.sq-gallery-grid figure:nth-child(1), .sq-gallery-grid figure:nth-child(10) { grid-column:span 2; grid-row:span 2; }
.sq-gallery-grid a { display:block; height:100%; cursor:zoom-in; }
.sq-gallery-grid img { width:100%; height:100%; min-height:220px; aspect-ratio:4/3; object-fit:cover; filter:grayscale(.15) contrast(1.02); transition:transform .45s ease, filter .45s ease; }
.sq-gallery-grid a:hover img { transform:scale(1.055); filter:grayscale(0) contrast(1.04); }
.sq-gallery-grid figure::after { content:""; position:absolute; inset:auto 0 0; height:4px; background:var(--sq-red); transform:scaleX(0); transform-origin:right; transition:transform .3s ease; }
.sq-gallery-grid figure:hover::after { transform:scaleX(1); }

.sq-gallery-grid figure[hidden] { display:none!important; }
.sq-gallery-actions { display:flex; justify-content:center; margin-top:34px; }
.sq-gallery-toggle {
  min-height:52px; padding:13px 28px; border:1px solid rgba(255,255,255,.22); color:#fff;
  background:transparent; font-weight:800; cursor:pointer; transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.sq-gallery-toggle:hover { border-color:var(--sq-red); background:var(--sq-red); transform:translateY(-2px); }
.sq-gallery-empty { padding:40px; border:1px dashed rgba(255,255,255,.22); color:#aeb4bd; text-align:center; }


.sq-services-section { background:#f5f3ef; }
.sq-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sq-services-grid > a {
  position:relative;
  min-height:300px;
  padding:36px 30px;
  border:1px solid #2d3139;
  background:#17191d;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sq-services-grid > a::before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:6px;
  height:100%;
  background:var(--sq-red);
}
.sq-services-grid > a:hover {
  transform:translateY(-6px);
  border-color:var(--sq-red);
  box-shadow:0 12px 35px rgba(0, 0, 0, 0.4), 0 0 15px rgba(225, 38, 44, 0.15);
}
.sq-services-grid span {
  color:rgba(255, 255, 255, 0.08);
  font-size:58px;
  font-weight:900;
  line-height:1;
  transition:color .25s ease;
}
.sq-services-grid > a:hover span {
  color:rgba(225, 38, 44, 0.12);
}
.sq-services-grid h3 {
  margin:22px 0 10px;
  font-size:24px;
  color:#ffffff;
}
.sq-services-grid p {
  color:#a7adb5;
  font-size:14px;
  line-height:1.6;
}
.sq-services-grid b {
  position:absolute;
  right:30px;
  bottom:28px;
  color:var(--sq-red);
  font-size:13px;
}

.sq-fallback-cta { position:relative; padding:95px 0; color:#fff; text-align:center; background-size:cover; background-position:center; }
.sq-fallback-cta::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(168,15,23,.94),rgba(225,38,44,.86)); }
.sq-fallback-cta .sq-container { position:relative; z-index:1; }
.sq-fallback-cta h2 { max-width:900px; margin:0 auto 15px; color:#fff; font-size:clamp(38px,5vw,70px); line-height:1.3; }

/* About page */
.sq-page-hero { padding:140px 0 90px; color:#fff; background:var(--sq-black-2); }
.sq-page-hero--image { position:relative; min-height:470px; display:flex; align-items:center; background-size:cover; background-position:center; }
.sq-page-hero--image::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.82)); }
.sq-page-hero--image::after { content:""; position:absolute; top:0; left:10%; width:110px; height:100%; background:rgba(225,38,44,.27); transform:skewX(-20deg); }
.sq-page-hero--image .sq-container { position:relative; z-index:2; }
.sq-page-hero h1 { max-width:900px; margin:0; font-size:clamp(50px,6.6vw,94px); font-weight:900; line-height:1.12; letter-spacing:-2px; }
.sq-page-hero p:not(.sq-kicker) { max-width:700px; color:#c1c6cc; font-size:18px; }
.sq-values-section { background:#f4f2ed; }
.sq-values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.sq-values-grid article {
  min-height:270px;
  padding:34px 28px;
  border:1px solid #2d3139;
  border-top:4px solid var(--sq-red);
  border-radius:2px;
  background:#17191d;
  box-shadow:0 12px 30px rgba(0, 0, 0, 0.25);
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.sq-values-grid article:hover {
  transform:translateY(-6px);
  border-color:var(--sq-red);
  box-shadow:0 18px 40px rgba(225, 38, 44, 0.15), 0 12px 30px rgba(0, 0, 0, 0.35);
}
.sq-values-grid span {
  color:var(--sq-red);
  font-size:45px;
  font-weight:900;
  line-height:1;
  transition:color .25s ease, transform .25s ease;
}
.sq-values-grid article:hover span {
  color:#ff4b50;
  transform:translateY(-2px);
}
.sq-values-grid h3 {
  margin:18px 0 10px;
  font-size:21px;
  color:#ffffff;
}
.sq-values-grid p {
  margin:0;
  color:#a7adb5;
  font-size:14px;
  line-height:1.6;
}
.sq-about-gallery { background:#fff; }
.sq-about-photo-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.sq-about-photo-strip a { min-height:330px; overflow:hidden; cursor:zoom-in; }
.sq-about-photo-strip img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.sq-about-photo-strip a:hover img { transform:scale(1.05); }

/* Contact */
.sq-contact-section { background:#f5f3ef; }
.sq-contact-layout { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:70px; }
.sq-contact-layout > div > p { color:#63686f; }
.sq-contact-list { display:grid; gap:10px; margin-top:34px; }
.sq-contact-list a { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:17px 20px; border-right:4px solid var(--sq-red); background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.04); transition:transform .2s ease; }
.sq-contact-list a:hover { transform:translateX(-5px); }
.sq-contact-list span { color:#767c84; font-size:12px; }
.sq-contact-list strong { color:#171a1f; font-size:14px; text-align:left; overflow-wrap:anywhere; }
.sq-contact-logo { position:relative; display:grid; place-items:center; min-height:500px; background:#080a0c; overflow:hidden; }
.sq-contact-logo::before { content:""; position:absolute; width:110px; height:130%; background:rgba(225,38,44,.35); transform:rotate(22deg); }
.sq-contact-logo img { position:relative; z-index:1; width:min(360px,72%); max-height:420px; object-fit:contain; filter:drop-shadow(0 24px 40px rgba(0,0,0,.55)); }
.sq-map-frame { margin-top:70px; border:8px solid #0b0e11; box-shadow:var(--sq-shadow); }
.sq-map-frame iframe { display:block; width:100%; min-height:540px; border:0; filter:grayscale(.25) contrast(1.03); }

/* Elementor-specific styling */
.sq-el-hero > .elementor-container { min-height:760px; align-items:center; }
.sq-el-hero-copy .elementor-widget-button { display:inline-block; margin-left:10px; }
.sq-el-btn .elementor-button { min-height:50px; display:inline-flex; align-items:center; padding:13px 27px; border-radius:0; font-weight:800; }
.sq-el-btn-primary .elementor-button { color:#fff; background:var(--sq-red); }
.sq-el-btn-ghost .elementor-button { color:#fff; border:1px solid rgba(255,255,255,.35); background:rgba(0,0,0,.2); }
.sq-el-section-title .elementor-heading-title { color:#171a1f; font-size:clamp(38px,4.8vw,68px); font-weight:900; line-height:1.25; letter-spacing:-1.2px; }
.sq-el-section-title .elementor-heading-title span { color:var(--sq-red); }
.sq-el-section-title-light .elementor-heading-title, .sq-el-kicker-light .elementor-heading-title { color:#fff; }
.sq-el-body-text { color:#575c63; font-size:16px; line-height:2; }
.sq-el-body-text-light { color:#aeb4bc; }
.sq-el-feature-image img { width:100%; min-height:430px; object-fit:cover; box-shadow:var(--sq-shadow); }
.sq-el-card-title .elementor-heading-title { font-size:21px; font-weight:900; color:#ffffff!important; }
.sq-el-card-text { color:#a7adb5; font-size:14px; }
.sq-el-card-text p { color:#a7adb5!important; }
.sq-el-value-card {
  min-height:270px;
  padding:30px!important;
  border:1px solid #2d3139!important;
  border-top:4px solid var(--sq-red)!important;
  border-radius:2px;
  background:#17191d!important;
  box-shadow:0 12px 30px rgba(0, 0, 0, 0.25)!important;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.sq-el-value-card:hover {
  transform:translateY(-6px);
  border-color:var(--sq-red)!important;
  box-shadow:0 18px 40px rgba(225, 38, 44, 0.15), 0 12px 30px rgba(0, 0, 0, 0.35)!important;
}
.sq-el-service-card {
  min-height:270px;
  padding:30px!important;
  border:1px solid #2d3139!important;
  border-top:4px solid var(--sq-red)!important;
  border-radius:2px;
  background:#17191d!important;
  box-shadow:0 12px 30px rgba(0, 0, 0, 0.25)!important;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.sq-el-service-card:hover {
  transform:translateY(-6px);
  border-color:var(--sq-red)!important;
  box-shadow:0 18px 40px rgba(225, 38, 44, 0.15), 0 12px 30px rgba(0, 0, 0, 0.35)!important;
}
.sq-el-dark-section { color:#fff; background:#080a0c; }
.sq-el-year .elementor-heading-title { color:var(--sq-red); font-size:42px; font-weight:900; }
.sq-el-year-text { color:#aeb4bc; }
.sq-el-timeline-card { min-height:260px; padding:30px!important; border-left:1px solid rgba(255,255,255,.1); background:#0e1115; }
.sq-el-org-html, .sq-el-services-html, .sq-el-gallery-html { width:100%; }
.sq-el-org-html .sq-org-flow, .sq-el-services-html .sq-services-grid, .sq-el-gallery-html .sq-gallery-grid { margin-top:20px; }
.sq-el-page-title .elementor-heading-title { color:#fff; font-size:clamp(50px,6.6vw,94px); font-weight:900; line-height:1.12; letter-spacing:-2px; }
.sq-el-page-subtitle { max-width:720px; color:#c1c6cc; font-size:18px; }
.sq-el-contact-card { min-height:285px; padding:32px!important; border-top:4px solid var(--sq-red); background:#fff; }
.sq-el-map iframe { min-height:520px; }

/* Lightbox */
.sq-lightbox { position:fixed; z-index:99999; inset:0; display:none; place-items:center; padding:30px; background:rgba(0,0,0,.94); }
.sq-lightbox.is-open { display:grid; }
.sq-lightbox img { max-width:min(94vw,1500px); max-height:84vh; object-fit:contain; box-shadow:0 30px 90px rgba(0,0,0,.6); }
.sq-lightbox p { margin:14px 0 0; color:#c7cbd0; font-size:13px; text-align:center; }
.sq-lightbox__close { position:absolute; top:22px; left:28px; width:48px; height:48px; border:1px solid rgba(255,255,255,.2); color:#fff; background:transparent; font-size:32px; cursor:pointer; }

/* Footer */
.sq-site-footer { color:#fff; background:#050607; }
.sq-footer-grid { display:grid; grid-template-columns:1.35fr .7fr 1fr; gap:64px; padding-block:72px; }
.sq-footer-brand { display:flex; align-items:flex-start; gap:20px; }
.sq-footer-brand img { width:86px; height:98px; object-fit:contain; }
.sq-footer-brand strong { font-size:21px; }
.sq-footer-brand p { max-width:440px; color:#949ba5; }
.sq-footer-grid h2 { margin:0 0 18px; color:#fff; font-size:16px; }
.sq-footer-links ul { margin:0; padding:0; list-style:none; }
.sq-footer-links li { margin-bottom:7px; }
.sq-footer-links a, .sq-footer-contact a, .sq-footer-contact p { display:block; margin-bottom:7px; color:#a7adb5; font-size:13px; }
.sq-footer-links a:hover, .sq-footer-contact a:hover { color:var(--sq-red); }
.sq-footer-bottom { border-top:1px solid rgba(255,255,255,.08); color:#757c85; font-size:12px; }
.sq-footer-bottom .sq-container { display:flex; justify-content:space-between; gap:20px; padding-block:18px; }

/* Generic */
.sq-page-content { padding-block:70px; }
.sq-post-card { padding:25px; margin-bottom:16px; background:#fff; }
.sq-error-page { min-height:70vh; display:grid; place-items:center; padding:80px 24px; color:#fff; background:#080a0c; text-align:center; }
.sq-error-page span { display:block; color:var(--sq-red); font-size:120px; font-weight:900; line-height:1; }
.sq-error-page h1 { font-size:44px; }

/* Responsive */
@media (max-width: 1080px) {
  .sq-navbar__inner { gap:18px; }
  .sq-menu { gap:18px; }
  .sq-menu > li > a { font-size:12px; }
  .sq-header-cta { padding-inline:18px; font-size:12px; }
  .sq-milestones { grid-template-columns:repeat(2,1fr); }
  .sq-gallery-grid { grid-template-columns:repeat(3,1fr); }
  .sq-gallery-grid figure:nth-child(1), .sq-gallery-grid figure:nth-child(10) { grid-column:span 1; grid-row:span 1; }
  .sq-values-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 860px) {
  :root { --sq-header-height:78px; }
  .admin-bar .sq-site-header.is-scrolled { top:46px; }
  .sq-topbar { display:none; }
  .sq-navbar, .sq-navbar__inner { min-height:78px; }
  .sq-brand img, .sq-brand .custom-logo { width:46px; height:55px; }
  .sq-brand__text strong { font-size:15px; }
  .sq-brand__text small { font-size:7px; }
  .sq-menu-toggle { display:block; margin-right:auto; }
  .sq-primary-nav {
    position:fixed; z-index:999; top:78px; right:0; bottom:0; width:min(360px,88vw);
    padding:18px 24px 34px; background:#080a0c; transform:translateX(110%);
    transition:transform .25s ease; overflow-y:auto;
  }
  .admin-bar .sq-primary-nav { top:124px; }
  .sq-primary-nav.is-open { transform:translateX(0); }
  .sq-menu { display:block; }
  .sq-menu > li > a { min-height:58px; justify-content:flex-start; border-bottom:1px solid rgba(255,255,255,.08); font-size:14px; }
  .sq-menu > li > a::after { right:0; bottom:10px; transform:none; }
  .sq-menu > li:hover > a::after, .sq-menu > li.current-menu-item > a::after, .sq-menu > li.current_page_item > a::after,
  .sq-menu > li.current-menu-ancestor > a::after, .sq-menu > li.sq-current-section > a::after { width:34px; }
  .sq-header-cta { display:none; }
  .sq-fallback-hero__grid, .sq-two-col, .sq-contact-layout { grid-template-columns:1fr; }
  .sq-fallback-hero__copy { order:2; text-align:center; }
  .sq-fallback-hero__mark { order:1; padding:24px; }
  .sq-fallback-hero__mark img { width:min(310px,72vw); max-height:360px; }
  .sq-fallback-hero h1 { font-size:clamp(40px,9vw,62px); letter-spacing:-2px; }
  .sq-fallback-hero__copy > p:not(.sq-kicker) { margin-inline:auto; }
  .sq-actions { justify-content:center; }
  .sq-fallback-hero::before, .sq-el-hero::before { left:-6%; width:90px; }
  .sq-section-head { display:block; }
  .sq-section-head > p { margin-top:12px; }
  .sq-history-visual { max-width:650px; margin-inline:auto; }
  .sq-services-grid { grid-template-columns:1fr; }
  .sq-gallery-grid { grid-template-columns:repeat(2,1fr); }
  .sq-about-photo-strip { grid-template-columns:repeat(2,1fr); }
  .sq-footer-grid { grid-template-columns:1fr 1fr; }
  .sq-footer-brand { grid-column:1/-1; }
  .sq-contact-logo { min-height:420px; }
  .sq-el-hero > .elementor-container, .sq-el-about > .elementor-container, .sq-el-about-page-history > .elementor-container, .sq-el-contact-layout > .elementor-container { flex-direction:column; }
  .sq-el-hero .elementor-column, .sq-el-about .elementor-column, .sq-el-about-page-history .elementor-column, .sq-el-contact-layout .elementor-column { width:100%!important; }
  .sq-el-hero-copy { order:2; text-align:center; }
  .sq-el-hero-mark { order:1; }
  .sq-el-hero-title .elementor-heading-title { font-size:clamp(40px,9vw,62px); text-align:center; }
  .sq-el-hero-text, .sq-el-eyebrow, .sq-el-hero .elementor-widget-button { text-align:center; margin-inline:auto; }
}
@media (max-width: 580px) {
  .sq-container { width:min(100% - 28px,1220px); }
  .sq-brand__text small { display:none; }
  .sq-fallback-section { padding:76px 0; }
  .sq-fallback-hero { min-height:720px; }
  .sq-fallback-hero h1 { font-size:clamp(34px,10.4vw,46px); letter-spacing:-1px; }
  .sq-fallback-hero__copy > p:not(.sq-kicker) { font-size:15px; }
  .sq-actions { flex-direction:column; }
  .sq-actions .sq-btn { width:100%; }
  .sq-section-head h2, .sq-about-copy h2, .sq-contact-layout h2 { font-size:36px; }
  .sq-milestones { grid-template-columns:1fr; }
  .sq-milestones article { min-height:240px; }
  .sq-gallery-grid { grid-template-columns:1fr; }
  .sq-gallery-grid img { min-height:260px; }
  .sq-values-grid { grid-template-columns:1fr; }
  .sq-about-photo-strip { grid-template-columns:1fr; }
  .sq-about-photo-strip a { min-height:280px; }
  .sq-org-branches span { flex:1 1 140px; }
  .sq-contact-list a { display:block; }
  .sq-contact-list strong { display:block; margin-top:4px; text-align:right; }
  .sq-footer-grid { grid-template-columns:1fr; gap:36px; }
  .sq-footer-brand { grid-column:auto; }
  .sq-footer-bottom .sq-container { flex-direction:column; align-items:center; text-align:center; }
  .sq-page-hero { padding:120px 0 70px; }
  .sq-page-hero h1 { font-size:48px; }
  .sq-el-hero-title .elementor-heading-title { font-size:clamp(34px,10.4vw,44px); letter-spacing:-1px; }
  .sq-el-hero .sq-el-btn { display:block; margin:8px 0; }
  .elementor .sq-el-btn .elementor-button { width:100%; }
}

/* Platform Section (About Page) */
.sq-platform-section {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#07090b;
  padding:72px 0 82px;
  text-align:center;
}
.sq-platform-section::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.05;
  background:linear-gradient(135deg,transparent 49%,#fff 50%,transparent 51%);
  background-size:68px 68px;
}
.sq-platform-section .sq-container { position:relative; z-index:1; }
.sq-platform-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.sq-platform-title {
  max-width:800px;
  margin:0;
  color:#fff!important;
  font-family:var(--sq-font-ar);
  font-size:clamp(25px,3.1vw,40px);
  font-weight:800;
  line-height:1.4;
  text-align:center;
}
.sq-platform-action {
  display: flex;
  justify-content: center;
}
.sq-platform-action .sq-btn {
  margin-top: 10px;
}

/* =========================================================
   Final refinement hardening — v2.1.8
   Works with both fallback templates and saved Elementor pages.
   ========================================================= */

/* Keep the management structure on the homepage, but remove only the
   full organizational-chart image there. The chart remains on About. */
body.alsuqoor-is-front-page #organization.sq-organization-section .sq-org-chart-link,
body.alsuqoor-is-front-page #organization.sq-organization-section .elementor-widget-image {
  display:none!important;
}
body.alsuqoor-is-front-page #organization.sq-organization-section .sq-org-flow {
  margin-bottom:0;
}

/* Earlier builds may have stored a platform block inside Elementor. Hide it
   and render the stable theme block once after the About page content. */
body.sq-about-page .sq-el-platform-section,
body.sq-about-page .sq-about-platform {
  display:none!important;
}

/* About values: target the actual Elementor inner wrappers, not fragile IDs. */
.sq-values-section > .elementor-container {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
.sq-values-section > .elementor-container > .elementor-column {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.sq-values-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  min-height:255px!important;
  padding:38px 28px 30px!important;
  overflow:hidden!important;
  border:1px solid #2d3139!important;
  border-top:4px solid var(--sq-red)!important;
  border-radius:2px!important;
  background:linear-gradient(145deg,rgba(225,38,44,.07),transparent 42%),#17191d!important;
  box-shadow:0 18px 42px rgba(0,0,0,.20)!important;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important;
}
.sq-values-section > .elementor-container > .elementor-column:hover > .elementor-widget-wrap {
  transform:translateY(-6px);
  border-color:var(--sq-red)!important;
  box-shadow:0 24px 52px rgba(0,0,0,.28),0 0 0 1px rgba(225,38,44,.10)!important;
}
.sq-values-section > .elementor-container > .elementor-column > .elementor-widget-wrap::before {
  position:absolute;
  top:20px;
  left:22px;
  color:var(--sq-red);
  font-size:46px;
  font-weight:900;
  line-height:1;
}
.sq-values-section > .elementor-container > .elementor-column:nth-child(1) > .elementor-widget-wrap::before { content:"01"; }
.sq-values-section > .elementor-container > .elementor-column:nth-child(2) > .elementor-widget-wrap::before { content:"02"; }
.sq-values-section > .elementor-container > .elementor-column:nth-child(3) > .elementor-widget-wrap::before { content:"03"; }
.sq-values-section > .elementor-container > .elementor-column:nth-child(4) > .elementor-widget-wrap::before { content:"04"; }
.sq-values-section > .elementor-container > .elementor-column > .elementor-widget-wrap::after {
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:64px;
  height:4px;
  background:var(--sq-red);
}
.sq-values-section > .elementor-container > .elementor-column .elementor-heading-title {
  color:#fff!important;
}
.sq-values-section > .elementor-container > .elementor-column .elementor-widget-text-editor,
.sq-values-section > .elementor-container > .elementor-column .elementor-widget-text-editor p {
  color:#c4c9d0!important;
}

/* The CTA must always use the club's red button language. */
.sq-platform-action .sq-btn--primary {
  min-width:180px;
  color:#fff!important;
  border-color:var(--sq-red)!important;
  background:var(--sq-red)!important;
}
.sq-platform-action .sq-btn--primary:hover {
  background:var(--sq-red-dark)!important;
}

@media (max-width:1024px) {
  .sq-values-section > .elementor-container {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:600px) {
  .sq-values-section > .elementor-container {
    grid-template-columns:1fr!important;
  }
  .sq-values-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-height:220px!important;
  }
  .sq-platform-section { padding:58px 0 64px; }
  .sq-platform-title { font-size:clamp(24px,8vw,32px); }
}

/* Seven primary items need the established mobile navigation at tablet width. */
@media (min-width:861px) and (max-width:1120px) {
  :root { --sq-header-height:78px; }
  .sq-topbar { display:none; }
  .sq-navbar, .sq-navbar__inner { min-height:78px; }
  .sq-brand img, .sq-brand .custom-logo { width:46px; height:55px; }
  .sq-brand__text strong { font-size:15px; }
  .sq-brand__text small { font-size:7px; }
  .sq-menu-toggle { display:block; margin-right:auto; }
  .sq-primary-nav {
    position:fixed; z-index:999; top:78px; right:0; bottom:0; width:min(360px,88vw);
    margin-inline:0; padding:18px 24px 34px; background:#080a0c; transform:translateX(110%);
    transition:transform .25s ease; overflow-y:auto;
  }
  .admin-bar .sq-primary-nav { top:110px; }
  .sq-primary-nav.is-open { transform:translateX(0); }
  .sq-menu { display:block; }
  .sq-menu > li > a { min-height:58px; justify-content:flex-start; border-bottom:1px solid rgba(255,255,255,.08); font-size:14px; }
  .sq-menu > li > a::after { right:0; bottom:10px; transform:none; }
  .sq-menu > li:hover > a::after, .sq-menu > li.current-menu-item > a::after, .sq-menu > li.current_page_item > a::after,
  .sq-menu > li.current-menu-ancestor > a::after, .sq-menu > li.sq-current-section > a::after { width:34px; }
  .sq-header-cta { display:none; }
}
