:root {
  --blue-950: #0c2038;
  --blue-900: #10345f;
  --blue-800: #184c86;
  --blue-700: #2467b0;
  --blue-600: #3f86ce;
  --blue-200: #cfe6fb;
  --blue-100: #eaf5ff;
  --sky-50: #f7fbff;
  --green: #1fa463;
  --white: #ffffff;
  --text: #17324d;
  --muted: #627a92;
  --border: #dbe8f5;
  --shadow: 0 18px 50px rgba(15, 47, 87, 0.12);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 18px;
  --container: 1240px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: "Cairo", sans-serif;
  background: linear-gradient(to bottom, #f7fbff 0%, #ffffff 50%, #f2f8ff 100%);
  color: var(--text);
  line-height: 1.75;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
.container { width: min(var(--container), calc(100% - 32px)); margin: auto; }
.page-header-spacer { height: 110px; }
.section { padding: 72px 0; }
.section-title { font-size: clamp(28px, 4vw, 48px); font-weight: 900; margin-bottom: 12px; color: #102844; }
.section-kicker { color: var(--blue-700); font-size: 15px; font-weight: 900; margin-bottom: 8px; }
.section-desc { color: var(--muted); font-size: 18px; max-width: 780px; }
.center-text { text-align: center; }
.center-text .section-desc { margin-inline: auto; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px 26px; border-radius: 16px; font-weight: 800; border: none; cursor: pointer;
  transition: .25s ease; min-height: 52px;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--blue-900); color: var(--white); box-shadow: 0 14px 35px rgba(16, 52, 95, 0.22); }
.btn-primary:hover { background: var(--blue-800); }
.btn-light { background: var(--white); color: var(--blue-900); }
.btn-light:hover { box-shadow: 0 10px 25px rgba(255,255,255,.22); }
.btn-outline { background: transparent; color: var(--blue-900); border: 1px solid var(--border); }
.btn-outline:hover { background: var(--blue-100); }
.btn-whatsapp { background: #25d366; color: white; }
.btn-whatsapp:hover { background: #1eaf54; }

header.site-header { position: fixed; inset: 16px 0 auto; z-index: 1000; }
.navbar {
  background: rgba(255,255,255,.86); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.5);
  box-shadow: var(--shadow); border-radius: 28px; padding: 16px 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px;
}
.logo { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.logo-badge {
  width: 58px; height: 58px; border-radius: 18px; background: linear-gradient(135deg, var(--blue-200), var(--blue-700), var(--blue-950));
  display: grid; place-items: center; box-shadow: 0 10px 30px rgba(22,74,132,.25); overflow: hidden; flex-shrink: 0;
}
.logo-badge img { width: 100%; height: 100%; object-fit: contain; }
.logo-text h1 { font-size: 28px; font-weight: 900; line-height: 1; }
.logo-text p { color: var(--muted); font-size: 14px; margin-top: 4px; }
.nav-links { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.nav-links a { font-weight: 800; color: #3d5570; transition: .2s ease; }
.nav-links a:hover, .nav-links a.active { color: var(--blue-700); }
.header-cta { white-space: nowrap; }
.menu-toggle {
  display: none; width: 46px; height: 46px; border: 1px solid var(--border); border-radius: 14px; background: white;
  color: var(--blue-900); font-size: 20px; cursor: pointer;
}
.mobile-menu {
  display: none; margin-top: 14px; background: rgba(255,255,255,.95); border-radius: 24px; box-shadow: var(--shadow);
  padding: 18px; border: 1px solid rgba(255,255,255,.55);
}
.mobile-menu.active { display: block; }
.mobile-menu a { display: block; padding: 12px 10px; border-bottom: 1px solid var(--border); font-weight: 800; }
.mobile-menu a:last-child { border-bottom: 0; }
.mobile-menu .btn { width: 100%; margin-top: 12px; }

.hero {
  min-height: 100vh; display: flex; align-items: center; position: relative; overflow: hidden;
  background: radial-gradient(circle at top right, rgba(147,197,253,.32), transparent 28%), linear-gradient(135deg, #0d1e35 0%, #123965 35%, #2d6fae 70%, #97c7ee 100%);
  color: white;
}
.hero::before, .hero::after {
  content: ""; position: absolute; border-radius: 50%; filter: blur(50px); pointer-events: none;
}
.hero::before { width: 240px; height: 240px; background: rgba(255,255,255,.13); top: 12%; right: 8%; }
.hero::after { width: 320px; height: 320px; background: rgba(138, 193, 255, .16); bottom: 8%; left: 6%; }
.hero > .container { position: relative; z-index: 1; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 34px; align-items: center; }
.hero-watermark {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: min(58vw,760px); opacity: .11; pointer-events: none; z-index: 0;
  animation: heroLogoFloat 6s ease-in-out infinite; filter: brightness(0) invert(1) drop-shadow(0 0 22px rgba(255,255,255,.12));
}
@keyframes heroLogoFloat { 0%,100% { transform: translate(-50%,-50%);} 50% { transform: translate(-50%, calc(-50% - 10px)); }}
.hero-badge {
  display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 999px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); margin-bottom: 20px; font-weight: 800;
}
.hero h2 { font-size: clamp(34px, 5vw, 62px); line-height: 1.2; font-weight: 900; margin-bottom: 18px; }
.hero p { font-size: 19px; color: rgba(255,255,255,.9); max-width: 720px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-card {
  border-radius: var(--radius-xl); background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 22px 55px rgba(10,24,44,.25);
  backdrop-filter: blur(16px); padding: 16px;
}
.hero-card-inner { border-radius: 24px; background: rgba(255,255,255,.08); padding: 28px; }
.opportunities-label { color: #d8efff !important; font-weight: 900; font-size: 16px !important; }
.stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 24px 0; }
.stat-box { background: rgba(255,255,255,.11); border-radius: 18px; padding: 18px; text-align: center; }
.stat-box strong { display: block; font-size: 22px; font-weight: 900; }
.stat-box span { font-size: 14px; color: rgba(255,255,255,.88); }
.featured-place { background: white; color: var(--text); padding: 24px; border-radius: 22px; }
.featured-place small { color: var(--blue-700); font-weight: 900; }
.featured-place h3 { margin: 10px 0 8px; font-size: 24px; font-weight: 900; }
.featured-place p { color: var(--muted); font-size: 16px; }

.about-grid, .contact-grid, .page-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 34px; align-items: center; }
.about-box, .info-panel {
  background: white; border-radius: var(--radius-xl); box-shadow: var(--shadow); padding: 30px; border: 1px solid var(--border);
}
.about-box h3, .info-panel h3 { font-size: 28px; margin-bottom: 18px; font-weight: 900; }
.about-points, .feature-list { display: grid; gap: 14px; }
.about-points div, .feature-list div { display: flex; gap: 12px; align-items: flex-start; color: var(--text); }
.about-points i, .feature-list i { color: var(--green); margin-top: 5px; }

.store-grid { display: grid; gap: 26px; }
.land-row {
  display: grid; grid-template-columns: 400px 1fr; gap: 24px; background: white; border-radius: var(--radius-xl);
  box-shadow: var(--shadow); border: 1px solid var(--border); overflow: hidden;
}
.land-image { min-height: 100%; }
.land-image img { width: 100%; height: 100%; object-fit: cover; }
.land-content { padding: 28px; }
.land-top { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.pill { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px; font-weight: 800; font-size: 14px; }
.pill-blue { background: #e7f1fc; color: var(--blue-900); }
.pill-sky { background: var(--blue-100); color: var(--blue-700); }
.land-content h3 { font-size: 30px; margin-bottom: 16px; font-weight: 900; }
.info-grid, .features-grid, .articles-grid, .contact-cards, .stats-cards {
  display: grid; gap: 16px;
}
.info-grid { grid-template-columns: repeat(2, minmax(0,1fr)); margin-bottom: 20px; }
.info-card, .article-card, .contact-card, .stat-card {
  background: #fbfdff; border: 1px solid var(--border); border-radius: 20px; padding: 20px;
}
.info-card strong { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; font-size: 18px; }
.info-card p { color: var(--muted); }
.features-title, .installments-header { font-size: 20px; font-weight: 900; margin-bottom: 12px; }
.features-grid { grid-template-columns: repeat(2, minmax(0,1fr)); margin-bottom: 22px; }
.feature-item { display: flex; gap: 10px; background: #f6fbff; border: 1px solid #e3eef9; border-radius: 16px; padding: 14px 16px; }
.feature-item i { color: var(--green); margin-top: 4px; }
.installments { background: #f8fbff; border: 1px solid var(--border); border-radius: 22px; padding: 20px; overflow: hidden; }
.installments-header { display: flex; align-items: center; gap: 10px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 540px; }
th, td { padding: 12px 14px; text-align: right; border-bottom: 1px solid var(--border); }
thead th { background: #eaf5ff; color: var(--blue-900); font-weight: 900; }
.land-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }

.articles-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.article-card {
  overflow: hidden; background: white; padding: 0; box-shadow: var(--shadow);
}
.article-cover { aspect-ratio: 16 / 10; overflow: hidden; }
.article-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.article-card:hover .article-cover img { transform: scale(1.05); }
.article-body { padding: 22px; }
.article-tag {
  display: inline-flex; padding: 8px 14px; border-radius: 999px; background: var(--blue-100); color: var(--blue-900); font-size: 13px; font-weight: 900;
  margin-bottom: 14px;
}
.article-card h3 { font-size: 23px; margin-bottom: 12px; font-weight: 900; }
.article-card p { color: var(--muted); margin-bottom: 18px; }
.article-link { color: var(--blue-700); font-weight: 900; }
.article-page-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }

.contact-box, .cta-box {
  background: linear-gradient(135deg, #102844 0%, #184c86 50%, #2b72b8 100%); color: white; border-radius: 30px; padding: 34px;
  box-shadow: 0 18px 50px rgba(16, 52, 95, .24);
}
.contact-box h2, .cta-box h2 { font-size: clamp(30px, 4vw, 46px); margin-bottom: 12px; font-weight: 900; }
.contact-box p, .cta-box p { color: rgba(255,255,255,.88); }
.contact-list { display: grid; gap: 14px; margin-top: 24px; }
.contact-item, .contact-card {
  display: flex; gap: 14px; align-items: center; border-radius: 18px;
}
.contact-item { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12); padding: 16px 18px; }
.contact-item i, .contact-card i { font-size: 20px; }
.contact-card { background: white; border: 1px solid var(--border); padding: 22px; }
.contact-card i { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; background: var(--blue-100); color: var(--blue-900); flex-shrink: 0; }
.contact-card strong { display: block; margin-bottom: 4px; font-size: 18px; }
.contact-card span, .contact-card a { color: var(--muted); }
.contact-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }

.page-hero {
  padding: 160px 0 70px; background: linear-gradient(135deg, rgba(15,47,87,.06), rgba(36,103,176,.09)); border-bottom: 1px solid var(--border);
}
.page-hero-card { background: white; border-radius: 28px; box-shadow: var(--shadow); overflow: hidden; min-height: 100%; }
.page-hero-card img { width: 100%; height: 100%; object-fit: cover; }
.page-hero-badge { display: inline-flex; background: var(--blue-100); color: var(--blue-900); border-radius: 999px; padding: 8px 14px; font-weight: 900; margin-bottom: 18px; }
.stats-cards { grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 24px; }
.stat-card { background: white; box-shadow: var(--shadow); }
.stat-card strong { display: block; font-size: 26px; font-weight: 900; margin-bottom: 4px; }
.stat-card span { color: var(--muted); }

footer { padding: 28px 0 44px; }
.footer-wrap {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; background: white; border: 1px solid var(--border); box-shadow: var(--shadow); border-radius: 24px; padding: 24px;
}
.footer-wrap h3 { font-size: 28px; font-weight: 900; }
.footer-wrap p { color: var(--muted); }
.socials { display: flex; gap: 10px; }
.socials a {
  width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: var(--blue-100); color: var(--blue-900); transition: .2s ease;
}
.socials a:hover { transform: translateY(-2px); background: var(--blue-200); }

.modal {
  position: fixed; inset: 0; background: rgba(8, 19, 34, .6); display: none; align-items: center; justify-content: center; padding: 20px; z-index: 2000;
}
.modal.active { display: flex; }
.modal-box {
  width: min(520px, 100%); background: white; border-radius: 28px; box-shadow: 0 22px 70px rgba(8,19,34,.25); padding: 28px; position: relative;
}
.modal-close {
  position: absolute; top: 16px; left: 16px; width: 42px; height: 42px; border: 0; border-radius: 12px; background: var(--blue-100); color: var(--blue-900); cursor: pointer;
}
.modal-box h3 { font-size: 30px; font-weight: 900; margin-bottom: 8px; }
.modal-box p { color: var(--muted); margin-bottom: 18px; }
.form-grid { display: grid; gap: 14px; }
.form-group label { display: block; font-weight: 800; margin-bottom: 8px; }
.form-group input {
  width: 100%; height: 52px; border: 1px solid var(--border); border-radius: 16px; padding: 0 16px; outline: none;
}
.form-group input:focus { border-color: var(--blue-600); box-shadow: 0 0 0 4px rgba(63,134,206,.12); }
.form-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 10px; }
.small-note { font-size: 14px; color: var(--muted); margin-top: 10px; }

@media (max-width: 1080px) {
  .nav-links, .header-cta { display: none; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .hero-grid, .about-grid, .contact-grid, .page-hero-grid, .land-row { grid-template-columns: 1fr; }
  .articles-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .article-page-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .section { padding: 58px 0; }
  .hero { min-height: auto; padding: 150px 0 70px; }
  .hero h2 { font-size: 36px; }
  .hero p, .section-desc { font-size: 16px; }
  .stats, .stats-cards, .info-grid, .features-grid, .articles-grid { grid-template-columns: 1fr; }
  .footer-wrap { flex-direction: column; align-items: flex-start; }
  .navbar { padding: 14px 16px; }
  .logo-badge { width: 52px; height: 52px; }
  .logo-text h1 { font-size: 24px; }
  .page-hero { padding-top: 145px; }
}

.alert{padding:16px 18px;border-radius:16px;margin-bottom:16px;font-weight:700}.alert-success{background:#e9f8ef;color:#16603b}.alert-error{background:#fff0f0;color:#9f2e2e}

.feature-points{list-style:none;display:grid;gap:10px;margin-top:16px}
.feature-points li{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px 16px;position:relative;padding-right:44px;box-shadow:var(--shadow)}
.feature-points li::before{content:'•';position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:28px;color:var(--blue-700)}
.feature-points.compact li{padding-top:12px;padding-bottom:12px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:22px;align-items:start}
.detail-card,.article-detail-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.mini-list{display:grid;gap:14px;margin-top:18px}.mini-list div{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:16px;background:var(--blue-100)}.mini-list strong{font-size:14px;color:var(--blue-900)}.mini-list span{color:#294768;font-weight:700}
.installments-table-wrap{overflow:auto;margin-top:16px}.installments-table{width:100%;border-collapse:collapse}.installments-table th,.installments-table td{padding:14px;border-bottom:1px solid var(--border);text-align:right}.installments-table th{background:#f7fbff;color:#10345f}
.article-detail-card{max-width:900px;margin:auto}.article-meta{display:inline-flex;padding:8px 14px;border-radius:999px;background:var(--blue-100);color:var(--blue-900);font-weight:800;margin-bottom:18px}.article-detail-content{line-height:2;color:#3a5069;font-size:18px}
@media (max-width: 960px){.detail-layout{grid-template-columns:1fr}}


/* Homepage and store enhancements */
.land-home-grid{grid-template-columns:1fr;gap:28px}
.land-showcase-card{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);background:#fff;border:1px solid var(--border);border-radius:30px;overflow:hidden;box-shadow:var(--shadow);transition:transform .35s ease, box-shadow .35s ease;text-align:right}
.land-showcase-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(17,52,95,.14)}
.land-showcase-image{position:relative;overflow:hidden;min-height:100%}
.land-showcase-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(8,26,48,.26) 100%)}
.land-showcase-image img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease;animation:slowZoom 8s ease-in-out infinite alternate}
.land-showcase-body{padding:26px 28px;text-align:right}
.land-showcase-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;flex-direction:row-reverse}
.land-showcase-meta{display:flex;gap:10px;flex-wrap:wrap}
.land-showcase-title{font-size:30px;font-weight:900;color:var(--blue-900);margin:0}
.meta-chip{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;font-weight:900;font-size:14px}
.meta-chip-code{background:#eaf5ff;color:#0d497f}
.meta-chip-area{background:#edf9f0;color:#1f7245}
.land-badges-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start;margin:22px 0 18px}
.animated-info-badge,.store-tag{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border-radius:18px;font-weight:800;border:1px solid rgba(63,134,206,.22);background:linear-gradient(135deg,#f7fbff,#edf6ff);color:var(--blue-900);box-shadow:0 12px 28px rgba(46,109,179,.08);animation:badgeFloat 2.8s ease-in-out infinite}
.animated-info-badge.price,.store-tag.price{animation-delay:.9s;background:linear-gradient(135deg,#fff7e9,#fff1cf);border-color:rgba(221,160,58,.28)}
.animated-info-badge i,.store-tag i{font-size:18px}
.modern-title{text-align:right;color:var(--blue-900);margin-top:10px}
.feature-input-stack{display:grid;gap:12px;margin-top:14px}
.feature-input-look{position:relative;background:#fff;border:1px solid #dce8f5;border-radius:18px;min-height:54px;display:flex;align-items:center;padding:0 18px;text-align:right;color:#294768;font-weight:800;box-shadow:0 8px 20px rgba(18,65,114,.05);overflow:hidden;animation:featureGlow 2.6s linear infinite}
.feature-input-look::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 10%,rgba(63,134,206,.05) 30%,rgba(255,255,255,.72) 48%,rgba(63,134,206,.05) 66%,transparent 85%);transform:translateX(100%);animation:shineSweep 2.4s linear infinite}
.feature-input-look::after{content:'✓';position:absolute;left:16px;width:26px;height:26px;border-radius:10px;display:grid;place-items:center;background:#e9f6ee;color:#1d7b48;font-weight:900;font-size:14px}
.article-card-animated{transition:transform .35s ease, box-shadow .35s ease}
.article-card-animated:hover{transform:translateY(-8px)}
.article-cover-animated img{animation:articleFloat 6s ease-in-out infinite alternate}
.contact-split-box{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:24px;align-items:stretch}
.contact-split-visual{position:relative;overflow:hidden;border-radius:30px;min-height:420px;box-shadow:var(--shadow)}
.contact-split-visual img{width:100%;height:100%;object-fit:cover;animation:slowZoom 9s ease-in-out infinite alternate}
.contact-split-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,19,37,.08),rgba(5,19,37,.38))}
.contact-visual-badge{position:absolute;right:22px;bottom:22px;left:22px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);color:#fff;padding:16px 18px;border-radius:20px;z-index:2;animation:softPulse 3s ease-in-out infinite}
.contact-visual-badge i{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.18)}
.contact-box-animated{animation:softFloat 4.2s ease-in-out infinite}
.store-alt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.store-alt-card{background:#fff;border:1px solid var(--border);border-radius:30px;overflow:hidden;box-shadow:var(--shadow);transition:transform .35s ease,box-shadow .35s ease}
.store-alt-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(17,52,95,.16)}
.store-alt-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.store-alt-media img{width:100%;height:100%;object-fit:cover;animation:slowZoom 7s ease-in-out infinite alternate}
.store-alt-overlay{position:absolute;right:16px;left:16px;bottom:16px;display:flex;gap:10px;flex-wrap:wrap}
.store-alt-body{padding:24px;text-align:right}
.store-alt-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.store-alt-title-row h3{font-size:28px;font-weight:900;color:var(--blue-900);margin:0}
.store-alt-tags{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.feature-input-stack-alt .feature-input-look{min-height:50px;font-size:15px}
.contact-page-visual{min-height:460px}
@keyframes slowZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes featureGlow{0%,100%{box-shadow:0 8px 20px rgba(18,65,114,.05),0 0 0 0 rgba(63,134,206,.12)}50%{box-shadow:0 12px 28px rgba(18,65,114,.08),0 0 0 4px rgba(63,134,206,.08)}}
@keyframes shineSweep{0%{transform:translateX(100%)}100%{transform:translateX(-120%)}}
@keyframes articleFloat{0%{transform:scale(1) translateY(0)}100%{transform:scale(1.08) translateY(-6px)}}
@keyframes softPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,255,255,.08)}50%{transform:scale(1.02);box-shadow:0 0 0 10px rgba(255,255,255,0)}}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (max-width:1080px){.land-showcase-card,.contact-split-box{grid-template-columns:1fr}.store-alt-grid{grid-template-columns:1fr}.land-showcase-title{font-size:26px}}
@media (max-width:720px){.land-showcase-header{align-items:flex-start}.land-badges-row,.store-alt-tags,.land-showcase-meta{flex-direction:column;align-items:stretch}.feature-input-look{padding-left:52px}.contact-split-visual,.contact-page-visual{min-height:300px}}

/* Responsive mobile fixes - 2026-05-05 */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body {
  min-width: 0;
}
* {
  min-width: 0;
}

@media (max-width: 768px) {
  :root {
    --radius-xl: 22px;
    --radius-lg: 18px;
    --radius-md: 14px;
  }

  .container {
    width: 100%;
    max-width: 100%;
    padding-right: 14px;
    padding-left: 14px;
    margin-right: 0;
    margin-left: 0;
  }

  header.site-header {
    inset: 10px 0 auto;
  }

  .navbar,
  .mobile-menu,
  .about-box,
  .info-panel,
  .detail-card,
  .article-detail-card,
  .contact-box,
  .cta-box,
  .footer-wrap,
  .page-hero-card,
  .land-row,
  .land-showcase-card,
  .store-alt-card,
  .article-card,
  .modal-box {
    width: 100%;
    max-width: 100%;
  }

  .navbar {
    border-radius: 18px;
    padding: 10px 12px;
  }

  .logo {
    gap: 8px;
  }

  .logo-badge {
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }

  .logo-text h1 {
    font-size: 21px;
  }

  .logo-text p {
    font-size: 11px;
    line-height: 1.3;
  }

  .menu-toggle {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
  }

  .page-hero {
    padding: 125px 0 34px;
  }

  .page-hero-grid,
  .hero-grid,
  .about-grid,
  .contact-grid,
  .detail-layout,
  .land-showcase-card,
  .contact-split-box,
  .store-alt-grid,
  .land-row,
  .article-page-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  .page-hero-card {
    border-radius: 20px;
  }

  .page-hero-card img {
    width: 100%;
    height: auto;
    max-height: 260px;
    object-fit: cover;
  }

  .section {
    padding: 34px 0;
  }

  .section-title {
    font-size: clamp(24px, 8vw, 34px);
    line-height: 1.35;
  }

  .section-desc,
  .hero p {
    font-size: 15px;
    line-height: 1.9;
  }

  .hero-actions,
  .land-actions,
  .contact-actions,
  .form-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .btn,
  button.btn,
  a.btn,
  input[type="submit"],
  .hero-actions .btn,
  .land-actions .btn,
  .contact-actions .btn,
  .form-actions .btn,
  .mobile-menu .btn {
    width: 100%;
    max-width: 100%;
    display: inline-flex;
    min-height: 52px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .detail-card,
  .article-detail-card,
  .land-content,
  .land-showcase-body,
  .store-alt-body,
  .modal-box,
  .about-box,
  .info-panel {
    padding: 18px;
    border-radius: 20px;
  }

  .land-top,
  .land-showcase-meta,
  .land-badges-row,
  .store-alt-tags,
  .store-alt-overlay {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 10px;
  }

  .pill,
  .meta-chip,
  .animated-info-badge,
  .store-tag,
  .page-hero-badge {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .info-grid,
  .features-grid,
  .articles-grid,
  .stats,
  .stats-cards,
  .contact-cards {
    grid-template-columns: 1fr !important;
  }

  .info-card,
  .feature-item,
  .feature-points li,
  .contact-card,
  .stat-card {
    width: 100%;
  }

  .installments,
  .installments-table-wrap,
  .table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  table,
  .installments-table {
    min-width: 0;
    width: 100%;
    font-size: 13px;
  }

  th, td,
  .installments-table th,
  .installments-table td {
    padding: 10px 8px;
    white-space: normal;
    word-break: break-word;
  }

  .modal {
    align-items: flex-end;
    padding: 10px;
  }

  .modal-box {
    border-radius: 22px;
    max-height: calc(100vh - 20px);
    overflow-y: auto;
  }
}

@media (max-width: 420px) {
  .container {
    padding-right: 10px;
    padding-left: 10px;
  }

  .page-hero {
    padding-top: 118px;
  }

  .detail-card,
  .article-detail-card,
  .land-content,
  .land-showcase-body,
  .store-alt-body,
  .modal-box,
  .about-box,
  .info-panel {
    padding: 15px;
  }
}

/* === FINAL MOBILE RESPONSIVE OVERRIDE === */
@media (max-width: 768px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body {
    margin: 0 !important;
    padding: 0 !important;
  }

  .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  header.site-header {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }

  header.site-header .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .navbar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    padding: 10px 12px !important;
    gap: 8px !important;
  }

  .logo {
    max-width: calc(100% - 52px) !important;
    min-width: 0 !important;
    overflow: hidden !important;
    gap: 8px !important;
  }

  .logo-text {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .logo-text h1,
  .logo-text p {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .logo-text h1 { font-size: 21px !important; }
  .logo-text p { font-size: 11px !important; }
  .logo-badge { width: 46px !important; height: 46px !important; border-radius: 14px !important; }
  .menu-toggle { width: 42px !important; height: 42px !important; flex: 0 0 42px !important; }

  .page-hero {
    width: 100% !important;
    max-width: 100% !important;
    padding: 122px 0 28px !important;
    overflow: hidden !important;
  }

  .page-hero-grid,
  .detail-layout,
  .hero-grid,
  .about-grid,
  .contact-grid,
  .land-row,
  .land-showcase-card,
  .store-alt-grid,
  .contact-split-box,
  .article-page-grid {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .page-hero-grid > div:first-child {
    width: 100% !important;
    text-align: right !important;
  }

  .page-hero-badge {
    width: fit-content !important;
    max-width: 100% !important;
  }

  .section-title {
    font-size: 28px !important;
    line-height: 1.35 !important;
    margin-bottom: 12px !important;
  }

  .section-desc {
    font-size: 15px !important;
    line-height: 1.9 !important;
    max-width: 100% !important;
  }

  .hero-actions,
  .land-actions,
  .contact-actions,
  .form-actions,
  .store-actions,
  .modal-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  .btn,
  a.btn,
  button.btn,
  input[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 54px !important;
    padding: 13px 16px !important;
    white-space: normal !important;
  }

  .page-hero-card,
  .detail-card,
  .article-detail-card,
  .about-box,
  .info-panel,
  .contact-box,
  .cta-box,
  .land-content,
  .land-showcase-body,
  .store-alt-body,
  .modal-box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 18px !important;
    border-radius: 22px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-hero-card { padding: 0 !important; overflow: hidden !important; }
  .page-hero-card img,
  .land-image img,
  .land-showcase-image img,
  .store-alt-media img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  .info-grid,
  .features-grid,
  .articles-grid,
  .stats,
  .stats-cards,
  .contact-cards,
  .land-top,
  .land-showcase-meta,
  .land-badges-row,
  .store-alt-tags {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }

  .pill,
  .meta-chip,
  .animated-info-badge,
  .store-tag {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .mini-list {
    width: 100% !important;
    gap: 10px !important;
  }

  .mini-list div,
  .info-card,
  .feature-points li,
  .contact-card,
  .stat-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
  }

  .installments-table-wrap,
  .table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
  }

  table,
  .installments-table {
    width: 100% !important;
    min-width: 0 !important;
  }

  .modal {
    padding: 12px !important;
    align-items: flex-end !important;
  }

  .modal-box {
    max-height: calc(100vh - 24px) !important;
    overflow-y: auto !important;
  }
}

@media (max-width: 430px) {
  .container,
  header.site-header .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .page-hero { padding-top: 116px !important; }
  .section { padding: 30px 0 !important; }
  .page-hero-card,
  .detail-card,
  .article-detail-card,
  .about-box,
  .info-panel,
  .contact-box,
  .cta-box,
  .land-content,
  .land-showcase-body,
  .store-alt-body,
  .modal-box { padding: 16px !important; }
  .page-hero-card { padding: 0 !important; }
}


/* Floating WhatsApp icon */
.floating-whatsapp {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2000;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #25d366;
  color: #fff;
  font-size: 31px;
  box-shadow: 0 14px 32px rgba(16,52,95,.26);
  border: 3px solid rgba(255,255,255,.92);
  transition: transform .2s ease, box-shadow .2s ease;
}
.floating-whatsapp:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 18px 38px rgba(16,52,95,.32);
}

@media (max-width: 768px) {
  .header-cta { display: none !important; }
  .floating-whatsapp {
    right: 16px;
    bottom: 16px;
    width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-size: 30px;
  }
  body { padding-bottom: 82px; }
}

/* Services page */
.services-hero .page-hero-card,
.services-hero-card {
  text-align: center;
  max-width: 980px;
  margin: 0 auto;
}
.services-hero-card h2 {
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1.35;
  margin: 16px 0 12px;
}
.services-hero-card p {
  max-width: 760px;
  margin: 0 auto;
  color: var(--muted, #5d7896);
  font-size: 18px;
  line-height: 1.9;
}
.services-page-section {
  padding-top: 28px;
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.service-card-pro {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(20,61,105,.10);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 22px 55px rgba(16,52,95,.10);
  transition: transform .22s ease, box-shadow .22s ease;
}
.service-card-pro:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 70px rgba(16,52,95,.16);
}
.service-image-wrap {
  position: relative;
  height: 185px;
  overflow: hidden;
  background: #eaf4ff;
}
.service-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.service-icon {
  position: absolute;
  right: 16px;
  bottom: -24px;
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: #fff;
  color: #123b67;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 25px;
  box-shadow: 0 12px 28px rgba(16,52,95,.18);
  border: 1px solid rgba(20,61,105,.10);
}
.service-card-body {
  padding: 38px 20px 22px;
}
.service-card-body h3 {
  margin: 0 0 10px;
  color: #0f3158;
  font-size: 21px;
  font-weight: 900;
}
.service-card-body p {
  margin: 0;
  color: #55718f;
  line-height: 1.85;
  font-weight: 700;
}
@media (max-width: 1100px) {
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .services-hero-card h2 { font-size: 32px; }
  .services-hero-card p { font-size: 16px; }
  .services-grid { grid-template-columns: 1fr; gap: 16px; }
  .service-image-wrap { height: 190px; }
  .service-card-pro { border-radius: 24px; }
  .service-card-body { padding: 36px 16px 20px; }
  .service-card-body h3 { font-size: 20px; }
}

/* Premium services improvements */
.service-tag {
  position: absolute;
  left: 14px;
  top: 14px;
  background: rgba(255,255,255,.88);
  color: #123b67;
  border: 1px solid rgba(20,61,105,.10);
  border-radius: 999px;
  padding: 7px 13px;
  font-weight: 900;
  font-size: 13px;
  box-shadow: 0 10px 24px rgba(16,52,95,.12);
  backdrop-filter: blur(8px);
}
.service-card-pro {
  position: relative;
}
.service-card-body p {
  min-height: 130px;
}
.services-cta-section {
  padding-top: 0;
}
.services-cta-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  padding: 28px;
  border-radius: 30px;
  background: linear-gradient(135deg, #ffffff, #edf7ff);
  border: 1px solid rgba(20,61,105,.10);
  box-shadow: 0 20px 55px rgba(16,52,95,.10);
}
.services-cta-box h3 {
  margin: 12px 0 8px;
  color: #0f3158;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 900;
}
.services-cta-box p {
  margin: 0;
  color: #55718f;
  line-height: 1.9;
  font-weight: 700;
}
.services-cta-box .btn {
  flex: 0 0 auto;
}
@media (max-width: 768px) {
  .service-tag {
    font-size: 12px;
    padding: 6px 11px;
  }
  .service-card-body p {
    min-height: auto;
  }
  .services-cta-box {
    display: grid;
    grid-template-columns: 1fr;
    padding: 20px;
    border-radius: 24px;
  }
}


/* === RTL + Header WhatsApp cleanup final override === */
html, body {
  direction: rtl !important;
  text-align: right !important;
}
body, input, textarea, select, button, table, th, td {
  direction: rtl !important;
}

/* لا يوجد زر واتساب داخل الهيدر، نكتفي بالأيقونة العائمة */
.header-cta,
.navbar > a.header-cta,
.site-header .btn.header-cta {
  display: none !important;
}

.navbar {
  direction: rtl !important;
  flex-direction: row !important;
}
.logo,
.nav-links,
.mobile-menu,
.hero-actions,
.land-actions,
.contact-actions,
.form-actions,
.land-top,
.store-alt-tags,
.land-showcase-meta,
.installments-header,
.info-card strong,
.feature-item,
.contact-item,
.contact-card,
.service-card-body,
.service-icon {
  direction: rtl !important;
  text-align: right !important;
}

.nav-links,
.hero-actions,
.land-actions,
.contact-actions,
.form-actions,
.land-top,
.store-alt-tags,
.land-showcase-meta {
  justify-content: flex-start !important;
}

.page-hero-grid > div:first-child,
.land-content,
.land-showcase-body,
.store-alt-body,
.detail-card,
.detail-main,
.detail-side,
.mini-list,
.info-grid,
.features-grid,
.feature-points,
.article-body,
.modal-box,
.form-group,
.services-hero-card,
.service-card-pro,
.service-card-body,
.services-cta-box,
.footer-wrap,
.contact-box,
.about-box,
.info-panel {
  direction: rtl !important;
  text-align: right !important;
}

.section-desc,
.hero p,
.article-card p,
.service-card-body p,
.services-cta-box p,
.contact-box p,
.cta-box p,
.footer-wrap p,
.info-card p,
.mini-list span {
  text-align: right !important;
}

.center-text,
.center-text .section-title,
.center-text .section-desc {
  text-align: center !important;
}

/* RTL للأراضي وتفاصيلها */
.store-alt-title-row,
.land-showcase-header {
  flex-direction: row !important;
  text-align: right !important;
}
.store-alt-overlay {
  right: 16px !important;
  left: auto !important;
  justify-content: flex-start !important;
}
.feature-input-look {
  justify-content: flex-start !important;
  padding-right: 18px !important;
  padding-left: 52px !important;
  text-align: right !important;
}
.feature-input-look::after {
  left: 16px !important;
  right: auto !important;
}
.feature-points li {
  padding-right: 44px !important;
  padding-left: 16px !important;
  text-align: right !important;
}
.feature-points li::before {
  right: 18px !important;
  left: auto !important;
}
.modal-close {
  left: 16px !important;
  right: auto !important;
}
th, td, .installments-table th, .installments-table td {
  text-align: right !important;
}

/* مكان أيقونة الواتساب العائمة */
.floating-whatsapp {
  right: 18px !important;
  left: auto !important;
}

@media (max-width: 768px) {
  .navbar {
    grid-template-columns: auto 1fr auto;
    align-items: center !important;
  }
  .menu-toggle {
    order: 1 !important;
  }
  .logo {
    order: 2 !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }
  .mobile-menu a {
    text-align: right !important;
  }
  .page-hero-grid > div:first-child,
  .land-content,
  .store-alt-body,
  .detail-card,
  .mini-list div,
  .info-card,
  .feature-points li,
  .modal-box {
    text-align: right !important;
  }
  .pill,
  .meta-chip,
  .animated-info-badge,
  .store-tag,
  .page-hero-badge {
    justify-content: center !important;
    text-align: center !important;
  }
  .floating-whatsapp {
    right: 16px !important;
    left: auto !important;
  }
}

/* === FINAL PUBLIC MOBILE TABLE FIX === */
@media (max-width: 768px) {
  .table-wrap,
  .installments-table-wrap {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
  }
  .table-wrap table,
  .installments-table {
    min-width: 560px !important;
    width: max-content !important;
    border-collapse: collapse !important;
  }
  .table-wrap th,
  .table-wrap td,
  .installments-table th,
  .installments-table td {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    padding: 10px 12px !important;
  }
  .form-actions,
  .land-actions,
  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .form-actions .btn,
  .land-actions .btn,
  .hero-actions .btn {
    width: 100% !important;
    white-space: nowrap !important;
  }
}
