/* ===== SpinBetter Egypt — calc-web.net ===== */
:root{
  --bg:#0b2419;
  --bg-deep:#071a12;
  --panel:#103224;
  --panel-2:#153f2d;
  --line:#215a41;
  --text:#f2f8f4;
  --muted:#b9d6c6;
  --gold:#ffd21f;
  --gold-dark:#ffbf00;
  --teal:#3df0a0;
  --radius:14px;
  --wrap:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Cairo",Tahoma,"Segoe UI",Arial,sans-serif;
  font-size:17px;
  line-height:1.85;
  color:var(--text);
  background:var(--bg);
  direction:rtl;
  text-align:right;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,label:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--bg-deep);
  border-bottom:1px solid var(--line);
}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:800;color:var(--text);letter-spacing:.3px}
.logo:hover{text-decoration:none}
.logo img{height:36px;width:auto;display:block}
.logo-mark{color:var(--gold)}
.nav-toggle{position:absolute;opacity:0;pointer-events:none}
.burger{display:none;cursor:pointer;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;position:relative}
.burger span,.burger span::before,.burger span::after{
  position:absolute;right:11px;width:20px;height:2px;background:var(--text);content:"";transition:transform .2s ease,opacity .2s ease
}
.burger span{top:21px}
.burger span::before{top:-7px;right:0}
.burger span::after{top:7px;right:0}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.main-nav a{display:block;padding:8px 14px;border-radius:10px;color:var(--text);font-weight:600}
.main-nav a:hover{background:var(--panel);text-decoration:none}
.main-nav a[aria-current="page"]{color:var(--gold)}
.main-nav{order:2;margin-left:auto;margin-right:24px}
.header-cta{display:flex;gap:10px;order:3}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;padding:11px 24px;border-radius:12px;
  font-weight:700;font-size:16px;line-height:1.4;text-align:center;
  border:2px solid transparent;transition:background .15s ease
}
.btn:hover{text-decoration:none}
.btn-gold{background:var(--gold);color:#1f1800;box-shadow:0 4px 18px rgba(255,210,31,.25)}
.btn-gold:hover{background:var(--gold-dark)}
.btn-ghost{background:var(--teal);border-color:var(--teal);color:#062a1b}
.btn-ghost:hover{background:#22d987;border-color:#22d987}
.btn-lg{padding:15px 34px;font-size:18px}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(ellipse at 15% 0%,rgba(255,210,31,.10),transparent 55%),
    radial-gradient(ellipse at 90% 100%,rgba(61,240,160,.10),transparent 55%),
    var(--bg-deep);
  padding:36px 0 44px;
  border-bottom:1px solid var(--line);
}
.hero-banner{border-radius:var(--radius);overflow:hidden;margin-bottom:28px;background:var(--panel)}
.hero-banner img{width:100%}
.hero h1{
  font-size:clamp(28px,4.4vw,46px);
  line-height:1.35;font-weight:800;margin:0 0 16px;max-width:30ch
}
.hero p{font-size:clamp(17px,1.8vw,19px);color:var(--muted);max-width:68ch;margin:0 0 24px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Content ---------- */
.content{padding:40px 0 56px}
.content article{max-width:820px}
.content h2{
  font-size:clamp(23px,3vw,30px);line-height:1.45;font-weight:800;
  margin:56px 0 16px;padding-right:16px;border-right:4px solid var(--gold)
}
.content h3{font-size:clamp(19px,2.3vw,22px);line-height:1.5;font-weight:700;margin:34px 0 10px;color:var(--teal)}
.content p{margin:0 0 16px}
.content ul,.content ol{margin:0 0 20px;padding:0}
.content ul{list-style:none}
.content ul li{position:relative;padding-right:26px;margin-bottom:8px}
.content ul li::before{
  content:"";position:absolute;right:4px;top:.75em;width:9px;height:9px;
  border-radius:50%;background:var(--gold)
}
.content ol{list-style:none;counter-reset:step}
.content ol li{counter-increment:step;position:relative;padding-right:46px;margin-bottom:12px;min-height:32px}
.content ol li::before{
  content:counter(step);position:absolute;right:0;top:2px;
  width:32px;height:32px;border-radius:50%;
  background:var(--panel-2);border:1px solid var(--line);color:var(--gold);
  font-weight:700;font-size:15px;line-height:30px;text-align:center
}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto;margin:8px 0 28px;border:1px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch}
table{width:100%;min-width:560px;border-collapse:collapse;font-size:16px;line-height:1.6}
th,td{padding:12px 16px;text-align:right;vertical-align:top}
thead th{background:var(--panel-2);color:var(--gold);font-weight:700;border-bottom:2px solid var(--gold)}
tbody tr:nth-child(even){background:rgba(255,255,255,.03)}
tbody td{border-top:1px solid var(--line)}
tbody td:first-child{font-weight:600}

/* ---------- CTA strip ---------- */
.cta-box{
  margin:44px 0;padding:26px 24px;border-radius:var(--radius);
  background:linear-gradient(135deg,var(--panel-2),var(--panel));
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap
}
.cta-box p{margin:0;font-size:19px;font-weight:700}

/* ---------- FAQ ---------- */
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
.faq summary{
  cursor:pointer;list-style:none;padding:16px 20px 16px 52px;
  font-weight:700;font-size:18px;position:relative
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;left:20px;top:50%;transform:translateY(-50%);
  font-size:26px;color:var(--gold);line-height:1
}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0;padding:0 20px 18px;color:var(--muted)}

/* ---------- Footer ---------- */
.site-footer{background:var(--bg-deep);border-top:1px solid var(--line);padding:40px 0 28px;font-size:15px;color:var(--muted)}
.footer-grid{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px}
.footer-nav a{color:var(--text)}
.footer-note{max-width:520px}
.footer-note p{margin:0 0 10px}
.age-badge{
  display:inline-block;min-width:46px;padding:4px 10px;border:2px solid #e5484d;border-radius:50px;
  color:#ff6b6f;font-weight:800;text-align:center;margin-left:8px
}
.footer-bottom{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:14px}
.footer-bottom p{margin:0 0 8px}
.copyright{color:var(--text)}
.cookie-note{line-height:1.8}
.cookie-note a{color:var(--teal)}

/* ---------- 404 ---------- */
.not-found{text-align:center;padding:90px 0}
.not-found .code{font-size:clamp(72px,14vw,140px);font-weight:800;color:var(--gold);line-height:1;margin:0}
.not-found h1{font-size:clamp(24px,3.5vw,34px);margin:18px 0 12px}
.not-found p{color:var(--muted);margin:0 0 26px}

/* ---------- Mobile ---------- */
@media (max-width:860px){
  .burger{display:block;order:3}
  .header-cta{order:2;margin-right:auto}
  .main-nav{order:4;width:100%;display:none;padding-bottom:14px;margin:0}
  .main-nav ul{flex-direction:column;gap:2px}
  .main-nav a{padding:12px 14px;font-size:17px}
  .nav-toggle:checked ~ .main-nav{display:block}
  .nav-toggle:checked ~ .burger span{background:transparent}
  .nav-toggle:checked ~ .burger span::before{transform:translateY(7px) rotate(45deg)}
  .nav-toggle:checked ~ .burger span::after{transform:translateY(-7px) rotate(-45deg)}
}
@media (max-width:560px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .logo{font-size:20px}
  .header-cta .btn{padding:8px 14px;font-size:14px}
  .header-cta .btn-ghost{display:none}
  .hero{padding:20px 0 32px}
  .hero-banner{margin-bottom:20px;border-radius:10px}
  .hero-actions .btn{flex:1 1 100%}
  .content h2{margin-top:44px}
  .cta-box{flex-direction:column;align-items:stretch;text-align:center}
  .faq summary{font-size:16px}
  th,td{padding:10px 12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}

/* ---------- Inner hero & promo ---------- */
.hero-inner{padding:44px 0 40px}
.hero-inner h1{max-width:34ch}
.promo-box{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin:0 0 8px;padding:22px 24px;border-radius:var(--radius);
  background:var(--panel);border:2px dashed var(--gold)
}
.promo-box p{margin:0;max-width:none}
.promo-label{font-size:15px;color:var(--muted);font-weight:600}
.promo-code{
  direction:ltr;text-align:right;font-size:clamp(28px,5vw,40px);font-weight:800;
  letter-spacing:2px;color:var(--gold);line-height:1.3;
  -webkit-user-select:all;user-select:all;cursor:copy
}
.promo-note{font-size:15px;color:var(--teal);font-weight:600}
@media (max-width:560px){
  .hero-inner{padding:28px 0 30px}
  .promo-box{flex-direction:column;align-items:stretch;text-align:center;padding:20px 16px}
  .promo-code{text-align:center}
  .promo-box .btn{width:100%}
}

.page-hero-simple{padding:36px 0 28px}
.page-hero-simple h1{max-width:none}

/* ---------- Scroll to top (без JS и без якоря) ---------- */
.page-top-anchor{position:absolute;top:0;right:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.scroll-top{
  position:fixed;left:24px;bottom:28px;z-index:99;
  width:46px;height:46px;border-radius:50%;
  background:var(--gold);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,.35);
  transition:transform .2s ease
}
.scroll-top svg{width:20px;height:20px;fill:none;stroke:#1f1800;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.scroll-top:hover{transform:translateY(-3px)}
@supports (animation-timeline: scroll()){
  .scroll-top{animation:scrolltop-show linear both;animation-timeline:scroll(root);animation-range:0 300px}
  @keyframes scrolltop-show{from{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}
}
@media(max-width:560px){.scroll-top{left:16px;bottom:20px;width:42px;height:42px}}

/* ---------- Hero redesign ---------- */
.hero-main{
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
  background:#071a12
}
.hero-main-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;background-repeat:no-repeat
}
.hero-main-bg img{
  width:100%;height:100%;object-fit:cover;object-position:center;display:block
}
.hero-main-bg-ph{
  width:100%;height:100%;
  background:linear-gradient(135deg,#103224,#071a12);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:15px
}
.hero-main::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to right, transparent 25%, rgba(7,26,18,0.6) 50%, rgba(7,26,18,0.85) 68%);
  pointer-events:none
}
.hero-main .wrap{
  position:relative;z-index:2;
  min-height:340px;display:flex;align-items:center;
  padding-top:32px;padding-bottom:32px
}
.hero-main-img{display:none}
.hero-main-img-ph{display:none}
.hero-main-text{
  max-width:560px;margin-right:auto;
  display:flex;flex-direction:column;gap:16px
}
.hero-main-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,210,31,.12);border:1px solid rgba(255,210,31,.3);
  border-radius:50px;padding:6px 16px;font-size:14px;font-weight:700;
  color:var(--gold);width:fit-content
}
.hero-main-badge::before{content:"★";font-size:13px}
.hero-main-text h1{
  font-size:clamp(26px,3.2vw,40px);line-height:1.3;font-weight:800;
  margin:0;color:var(--text)
}
.hero-main-text h1 span{color:var(--gold);display:block}
.hero-main-subtitle{
  font-size:clamp(15px,1.4vw,17px);color:var(--muted);margin:0;
  display:flex;align-items:center;gap:8px
}
.hero-main-subtitle::before{
  content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;
  background:var(--teal)
}
.hero-main-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
@media(max-width:860px){
  .hero-main .wrap{grid-template-columns:1fr;min-height:auto}
  .hero-main-img{height:240px}
  .hero-main-text{padding:28px 20px 36px}
}
@media(max-width:560px){
  .hero-main-img{height:200px}
  .hero-main-text{padding:22px 16px 28px}
  .hero-main-text h1{font-size:24px}
  .hero-main-actions .btn{flex:1 1 100%}
}

/* ---------- Intro block (like screenshot) ---------- */
.intro-block{
  margin:52px 0;
  display:grid;grid-template-columns:1fr 1fr;
  gap:0 48px;align-items:center;
  background:none;border:none;border-radius:0;
  direction:ltr;
  width:min(1080px, calc(100vw - 40px))
}
.intro-block .intro-block-body{direction:rtl}
.intro-block-img{
  border-radius:var(--radius);overflow:hidden;
  box-shadow:0 12px 32px rgba(0,0,0,.45)
}
.intro-block-img img{width:100%;height:auto;display:block}
.intro-block-img-ph{
  width:100%;aspect-ratio:1553/1013;
  background:linear-gradient(135deg,#103224,#071a12);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:15px;border:2px dashed var(--line)
}
.intro-block-body{
  padding:0;display:flex;flex-direction:column;justify-content:center;gap:16px
}
.intro-block-body h1,
.intro-block-body h2{
  font-size:clamp(22px,2.4vw,32px);line-height:1.4;font-weight:800;
  margin:0;border:none;padding:0;color:var(--text)
}
.intro-block-body p{
  font-size:clamp(15px,1.3vw,17px);color:var(--muted);
  line-height:1.9;margin:0
}
.intro-block-body .btn{align-self:stretch;margin-top:6px;text-align:center}
@media(max-width:900px){
  .intro-block{grid-template-columns:1fr;gap:24px 0}
}
@media(max-width:560px){
  .intro-block{margin:36px 0;width:100%}
}



/* app page hero block */
.app-hero{padding:8px 0 0}
.app-hero .intro-block{margin:36px 0 8px}
.intro-block-body .promo-box{margin:0;padding:16px 20px}
.intro-block-body .promo-box p{margin:0}
.intro-block-body .promo-box .promo-label{color:var(--muted);font-size:14px;line-height:1.5}
.intro-block-body .promo-box .promo-code{color:var(--gold);font-size:clamp(26px,3vw,36px);line-height:1.3}
.intro-block-body .promo-box .promo-note{color:var(--teal);font-size:14px;line-height:1.6}

.page-hero-simple h1{margin-bottom:20px}

/* ---------- Internal links ---------- */
.content article p a,.content article li a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.content article p a:hover{color:var(--gold)}
.related{margin:48px 0}
.related-title{font-size:22px;font-weight:800;margin:0 0 16px;color:var(--text)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related-card{
  display:flex;flex-direction:column;gap:4px;padding:18px 20px;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  color:var(--text);transition:border-color .15s ease,transform .15s ease
}
.related-card:hover{border-color:var(--gold);transform:translateY(-2px);text-decoration:none}
.related-card-title{font-weight:700;font-size:17px;color:var(--gold)}
.related-card-desc{font-size:14px;color:var(--muted)}
@media(max-width:700px){.related-grid{grid-template-columns:1fr}}

.site-footer .logo{margin-bottom:12px;display:inline-block}
@media(max-width:560px){.logo img{height:28px}}
