/* Royal Iron Styles */
:root{
  /* Theme colors per request */
  --contrastBackgroundColor: rgb(18, 94, 138);
  --background-color: rgb(11, 57, 84);
  /* Map to existing tokens used throughout */
  --brand: var(--background-color);
  --brand-2: var(--background-color);
  --accent: var(--contrastBackgroundColor);
  --text:#0f172a;
  --muted:#5b6b7b;
  --bg:#ffffff;
  --light:#f5f7fb;
  --radius:14px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Almarai', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.8;
}

.container{width:min(1200px, 92%);margin-inline:auto}
.container.narrow{width:min(900px, 90%)}
.container.wide{width:min(1280px, 96%)}

/* Topbar */
.topbar{background:var(--brand);color:#fff;position:sticky;top:0;z-index:50}
.topbar .container{display:flex;align-items:center;gap:24px;padding:24px 0}
.brand{display:flex;align-items:center;gap:10px}
.topbar .brand{text-decoration:none;color:#fff}
.topbar .brand:hover{color:#fff}
.topbar .brand .brand-text{color:#fff}
.logo{width:140px;height:34px;object-fit:crop;filter:invert(1)}
.brand-text{font-weight:800;font-size:18px}

.nav{margin-inline-start:auto;position:relative}
.nav ul{display:flex;gap:14px;list-style:none;margin:0;padding:0}
.nav a{color:#cfe7ef;text-decoration:none;padding:20px 14px;border-radius:999px;font-weight:600}
.nav a:hover,.nav a.active{background:var(--contrastBackgroundColor);color:#fff}
.header-whatsapp{position:fixed;top:12px;inset-inline-start:16px;z-index:60;display:inline-flex;align-items:center;justify-content:center;width:40px;height:60px;border-radius:50%;background:#25d366;color:#fff;text-decoration:none;box-shadow:0 6px 16px rgba(0,0,0,.22)}
.header-whatsapp:hover{filter:brightness(0.95)}
.header-whatsapp .fa-whatsapp{font-size:20px;line-height:1}
.menu-toggle{display:none;background:transparent;border:0;color:#fff;font-size:24px}
.lang-toggle{margin-inline:10px 8px;background:#0b3954;color:#fff;border:0;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}
.lang-toggle:hover{filter:brightness(1.05)}
/* Float next to floating WhatsApp button on desktop; on mobile it moves into the menu */
.lang-toggle{position:fixed;top:12px;inset-inline-start:64px;z-index:60}
@media (max-width: 992px){
  .lang-toggle{position:static;top:auto;inset:auto;display:inline-block}
}

/* Ticker */
.ticker{background:var(--brand);color:#cfe7ef;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(0,0,0,.2);overflow:hidden;display:flex;align-items:center}
.ticker-track{display:inline-flex;gap:0;padding:8px 0;white-space:nowrap;flex:0 0 auto}
.ticker-track span{padding-inline:12px}
.ticker-track i{opacity:.6;padding-inline:8px}
.ticker .rail{display:flex;flex-wrap:nowrap;gap:0;width:max-content;animation:ticker-move var(--ticker-speed,20s) linear infinite}
@keyframes ticker-move{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-track span{font-weight:700}
@keyframes ticker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* Hero Slider */
.hero{position:relative}
.slider{position:relative;isolation:isolate}
.slides{position:relative;height:62vh;min-height:380px;max-height:700px;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.slide.is-active{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.02)}
.slide-arrow{position:absolute;top:50%;translate:0 -50%;z-index:2;border:0;background:rgba(0,0,0,.35);color:#fff;width:42px;height:42px;border-radius:50%;cursor:pointer}
.slide-arrow:hover{background:rgba(0,0,0,.55)}
.slide-arrow.prev{inset-inline-start:10px}
.slide-arrow.next{inset-inline-end:10px}
.dots{position:absolute;bottom:14px;inset-inline:0;display:flex;justify-content:center;gap:8px;z-index:2}
.dots button{width:8px;height:8px;aspect-ratio:1;border-radius:50%;border:0;padding:0;line-height:0;background:rgba(255,255,255,.5);cursor:pointer;appearance:none;-webkit-appearance:none;flex:0 0 auto}
.dots button.is-active{background:#fff}

.whatsapp{position:fixed;inset-inline-end:16px;bottom:16px;width:44px;height:44px;border-radius:50%;background:#25d366;box-shadow:0 8px 24px rgba(0,0,0,.2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M20.52 3.48A11.94 11.94 0 0 0 12.01 0C5.39 0 .01 5.38.01 12c0 2.1.55 4.13 1.6 5.93L0 24l6.2-1.6A11.91 11.91 0 0 0 12.01 24c6.62 0 12-5.38 12-12 0-3.2-1.25-6.22-3.49-8.52zM12.01 22a9.92 9.92 0 0 1-5.05-1.38l-.36-.21-3.68.95.98-3.58-.23-.37A9.95 9.95 0 1 1 22 12c0 5.52-4.48 10-9.99 10zM17.3 14.4c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.78.96-.95 1.15-.17.2-.35.22-.64.07-.3-.15-1.24-.46-2.36-1.47-.87-.77-1.45-1.7-1.62-1.98-.17-.28-.02-.44.13-.59.13-.13.3-.34.45-.51.15-.17.18-.28.28-.47.1-.2.05-.34-.02-.49-.07-.15-.72-1.74-.98-2.37-.26-.61-.52-.53-.72-.54l-.62-.01c-.21 0-.49.07-.74.34-.26.27-.98.95-.98 2.32s1 2.69 1.13 2.88c.13.2 1.96 2.98 4.75 4.17.66.28 1.17.45 1.58.57.66.21 1.25.18 1.74.11.52-.08 1.8-.73 2.06-1.45.26-.72.26-1.32.18-1.45-.08-.13-.28-.2-.58-.35z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:62%}

/* Sections */
.section{padding:56px 0}
.display{font-size:56px;line-height:1.1;margin:0 0 14px;font-weight:800;text-align:center}
.intro p{text-align:center;color:var(--muted)}
.actions{display:flex;justify-content:center;margin-top:18px}

.btn{display:inline-block;padding:10px 18px;border-radius:999px;text-decoration:none;font-weight:700;transition:background-color .25s ease, color .25s ease, box-shadow .2s ease, transform .15s ease;border:0;background:transparent}
.btn:focus{outline:none}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(18,94,138,.25)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(18,94,138,.26)}
.btn-primary:hover{background:rgb(14, 78, 114);box-shadow:0 8px 22px rgba(18,94,138,.36)}
.btn-outline{border:2px solid var(--accent);color:var(--accent);background:transparent}
.btn-outline:hover{background:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(18,94,138,.26)}

.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.two-col.alt{grid-template-columns:.9fr 1.1fr}
.two-col .media img{width:100%;height:auto;border-radius:16px}
.bullets,.list{margin:0;padding-inline-start:18px}
.bullets li,.list li{margin:6px 0}

.gallery-img{width:100%;border-radius:16px;display:block}

/* Gallery slider sizing */
.gallery-slider .slides{height:auto;min-height:unset;max-height:none;aspect-ratio:16/9;border-radius:16px;overflow:hidden}
.gallery-slider .slide{position:absolute;inset:0}
.gallery-slider .slide img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-slider{position:relative}
.gallery-slider .dots{position:absolute;bottom:10px;inset-inline:0}

/* Ambient gallery animations */
.gallery-slider[data-mode="ambient"] .slides{aspect-ratio:16/9;border-radius:16px;overflow:hidden}
.gallery-slider[data-mode="ambient"] .slide{opacity:0;animation-fill-mode:both}
.gallery-slider[data-mode="ambient"] .slide:nth-child(1){animation-name:ambientSlideLeft;}
.gallery-slider[data-mode="ambient"] .slide:nth-child(2){animation-name:ambientSlideRight;}
.gallery-slider[data-mode="ambient"] .slide:nth-child(3){animation-name:ambientSlideUp;}
.gallery-slider[data-mode="ambient"] .slide:nth-child(4){animation-name:ambientSlideDown;}
.gallery-slider[data-mode="ambient"] .slide:nth-child(5){animation-name:ambientSlideLeft;}

/* PPT mode: slide in/out, no overlay */
.gallery-slider[data-mode="ppt"] .slides{aspect-ratio:16/9;border-radius:16px;overflow:hidden}
.gallery-slider[data-mode="ppt"] .slide{opacity:0;transform:translateX(0) translateY(0);transition:transform .8s ease, opacity .6s ease}
.gallery-slider[data-mode="ppt"] .slide.is-current{opacity:1}
.gallery-slider[data-mode="ppt"] .slide.from-right{transform:translateX(100%)}
.gallery-slider[data-mode="ppt"] .slide.from-left{transform:translateX(-100%)}
.gallery-slider[data-mode="ppt"] .slide.from-up{transform:translateY(-100%)}
.gallery-slider[data-mode="ppt"] .slide.from-down{transform:translateY(100%)}
.gallery-slider[data-mode="ppt"] .slide.enter{transform:translateX(0) translateY(0);opacity:1}

@keyframes ambientSlideLeft{
  0%{opacity:0.08;transform:translateX(6%)}
  25%{opacity:0.18}
  50%{opacity:0.22;transform:translateX(0%)}
  75%{opacity:0.18}
  100%{opacity:0.08;transform:translateX(-6%)}
}
@keyframes ambientSlideRight{
  0%{opacity:0.08;transform:translateX(-6%)}
  25%{opacity:0.18}
  50%{opacity:0.22;transform:translateX(0%)}
  75%{opacity:0.18}
  100%{opacity:0.08;transform:translateX(6%)}
}
@keyframes ambientSlideUp{
  0%{opacity:0.08;transform:translateY(6%)}
  25%{opacity:0.18}
  50%{opacity:0.22;transform:translateY(0%)}
  75%{opacity:0.18}
  100%{opacity:0.08;transform:translateY(-6%)}
}
@keyframes ambientSlideDown{
  0%{opacity:0.08;transform:translateY(-6%)}
  25%{opacity:0.18}
  50%{opacity:0.22;transform:translateY(0%)}
  75%{opacity:0.18}
  100%{opacity:0.08;transform:translateY(6%)}
}

/* Footer */
.footer{background:var(--brand-2);color:#d4e7ef}
.footer .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px;padding:40px 0}
.footer h4{margin:0 0 10px;color:#fff}
.contact-form label{display:block;color:#cfe7ef;margin-bottom:8px}
.input-wrap{display:flex;gap:8px}
.input-wrap input{flex:1;border-radius:999px;border:0;padding:12px 16px;background:#f0f5f8}
.input-wrap .btn{padding:12px 18px}
.contacts{list-style:none;margin:0;padding:0}
.contacts li{margin:6px 0}
.social{display:flex;gap:8px;margin-bottom:12px}
.social a{text-decoration:none}
.ic{width:28px;height:28px;background:#113f50;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#d4e7ef}
.ic svg{width:16px;height:16px;display:block}
.map{width:100%;height:120px;background:linear-gradient(135deg,#aecbd8,#86a8b3);border-radius:10px}
.copy{background:#0a2430;color:#a8c6d3;padding:10px 0;font-size:14px}

/* Why section tweaks */
.why .text p{color:var(--muted);margin:0 0 10px}
.why .text .btn{margin-top:16px}
.why .list{list-style:none;padding:0;margin:10px 0 0}
.why .list li{position:relative;padding-inline-start:22px;margin:8px 0}
.why .list li::before{content:"✓";position:absolute;inset-inline-start:0;top:0;color:var(--accent);font-weight:800}

/* Responsive */
@media (max-width: 992px){
  .nav ul{display:none}
  .menu-toggle{display:inline-block}
  .ticker-track{animation-duration:24s}
  .two-col,.two-col.alt{grid-template-columns:1fr}
  .display{font-size:42px}
  .slides{height:46vh}
  .footer .grid{grid-template-columns:1fr}
}

/* Mobile adjustments for floating controls */
@media (max-width: 768px){
  .header-whatsapp{top:10px;inset-inline-start:10px}
  .lang-toggle{top:10px;inset-inline-start:60px}
}

/* Steps grid on services */
.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 4px}
.step-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.step-card img{width:100%;height:350px;object-fit:cover;display:block}
.step-card p{margin:10px 12px;color:var(--text)}
@media (max-width: 768px){
  .steps-grid{grid-template-columns:1fr}
  .step-card img{height:160px}
}

/* Bigger titles only on services */
.services h3{font-size:28px;font-weight:800;margin:20px 0 10px}
.services h4{font-size:22px;font-weight:800;margin:20px 0 10px}
@media (max-width: 768px){
  .services h3{font-size:24px}
  .services h4{font-size:20px}
}

/* Store grid */
.store h2{margin:28px 0 12px;font-size:28px;font-weight:800;text-align:start}
.store .more{
  display:block;
  background:var(--accent);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  padding:10px 18px;
  border-radius:999px;
  margin:16px auto 32px;
  width:fit-content;
  text-align:center;
  box-shadow:0 6px 16px rgba(18,94,138,.26);
  transition:background-color .2s ease, box-shadow .2s ease, transform .15s ease
}
.store .more:hover{background:rgb(14, 78, 114);box-shadow:0 8px 22px rgba(18,94,138,.36)}
.store .more:active{transform:translateY(1px)}
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.store-item{position:relative;border-radius:12px;overflow:hidden;background:#f3f6fa;opacity:0;transform:translateY(16px);animation:fadeUp .7s ease both}
.store-item img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .45s ease}
.store-item:hover img{transform:scale(1.06)}

/* Staggered appearance */
.store-grid .store-item:nth-child(1){animation-delay:.05s}
.store-grid .store-item:nth-child(2){animation-delay:.15s}
.store-grid .store-item:nth-child(3){animation-delay:.25s}
.store-grid .store-item:nth-child(4){animation-delay:.35s}
.store-grid .store-item:nth-child(5){animation-delay:.45s}
.store-grid .store-item:nth-child(6){animation-delay:.55s}

@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

@media (max-width: 992px){
  .store-grid{grid-template-columns:repeat(2,1fr)}
  .store-item img{height:220px}
}
@media (max-width: 600px){
  .store-grid{grid-template-columns:1fr}
  .store h2{font-size:24px}
}

