/* LottoLuma — Home hero refinement, scoped to the homepage only.
   Keeps the user's approved country globe and click interaction intact. */
body.visual-perfection-home { --home-ink:#173049; }
body.visual-perfection-home .hero {
  display:grid;
  grid-template-columns: minmax(0, .99fr) minmax(0, 1.01fr);
  align-items:center;
  gap:clamp(10px,2vw,24px);
  position:relative;
  padding:clamp(22px,2.7vw,36px);
  margin-top:20px;
  border:1px solid rgba(156,197,207,.35);
  border-radius:30px;
  background:linear-gradient(126deg,rgba(255,255,255,.98) 0%,rgba(246,253,253,.91) 50%,rgba(240,250,253,.9) 100%);
  box-shadow:0 15px 45px rgba(27,60,80,.08);
  overflow:visible;
  isolation:isolate;
}
body.visual-perfection-home .hero::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 78% 42%,rgba(61,207,194,.10),transparent 43%),radial-gradient(ellipse at 7% 5%,rgba(79,143,234,.05),transparent 41%);
  pointer-events:none;
  border-radius:inherit;
  z-index:-1;
}
body.visual-perfection-home .hero > div:first-child,
body.visual-perfection-home .hero-art {
  background:none!important;
  box-shadow:none!important;
  border:none!important;
  border-radius:0!important;
  overflow:visible!important;
  backdrop-filter:none!important;
  min-width:0;
}
body.visual-perfection-home .hero > div:first-child {
  padding:clamp(8px,1.5vw,20px)!important;
  align-self:center;
  max-width:none;
}
body.visual-perfection-home .hero > div:first-child::before,
body.visual-perfection-home .hero-art::before {display:none!important;}
body.visual-perfection-home .hero .eyebrow {
  margin-bottom:20px;
  letter-spacing:.135em;
  font-size:11px;
}
body.visual-perfection-home .hero h1 {
  font-size:clamp(40px,4vw,60px)!important;
  letter-spacing:-.055em!important;
  line-height:1.075!important;
  font-weight:850!important;
  max-width:12.4em;
  text-wrap:balance;
  margin-bottom:18px;
}
body.visual-perfection-home .hero p {
  font-size:clamp(13px,.95vw,15px)!important;
  line-height:1.7!important;
  max-width:52ch;
  margin-bottom:0;
}
body.visual-perfection-home .vp-home-pills {display:none!important;}
body.visual-perfection-home .hero-buttons {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
body.visual-perfection-home .hero-buttons .button {
  min-height:45px;
  border-radius:12px;
  padding:12px 17px;
  font-weight:700;
  font-size:13px;
}
body.visual-perfection-home .banner-note {
  margin:22px 0 0;
  padding:0;
  display:block;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  border-radius:0;
  font-size:12px;
  line-height:1.5;
  color:#617788;
}
body.visual-perfection-home .mini-stats {
  display:flex!important;
  flex-wrap:nowrap;
  gap:0!important;
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(106,156,177,.18);
  align-items:stretch;
}
body.visual-perfection-home .mini-stats > div {
  flex:1 1 0;
  min-width:0;
  text-align:left;
  padding:2px 12px 2px 16px!important;
  margin:0!important;
  border:0!important;
  border-left:1px solid rgba(101,152,170,.25)!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}
body.visual-perfection-home .mini-stats > div:first-child {border-left:0!important;padding-left:0!important;}
body.visual-perfection-home .mini-stats > div::after {display:none!important;}
body.visual-perfection-home .mini-stats b {display:block;font-size:20px!important;line-height:1.35!important;}
body.visual-perfection-home .mini-stats span {display:block;font-size:10px!important;line-height:1.4!important;letter-spacing:.055em!important;}
/* Country map — keep every pill inside the right column without cropping. */
body.visual-perfection-home .hero-art {
  min-height:clamp(430px,38vw,526px)!important;
  padding:8px 0!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
}
body.visual-perfection-home .atlas-globe-scene {
  width:min(100%,450px)!important;
  max-width:450px;
  min-height:0!important;
  flex:none;
  margin-inline:auto;
  overflow:visible;
}
body.visual-perfection-home .atlas-globe-marker {
  padding:8px 11px!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1.1;
  white-space:nowrap;
}
body.visual-perfection-home .atlas-globe-marker .atlas-marker-label {font-size:9px!important;letter-spacing:0!important;}
body.visual-perfection-home .atlas-map-eu,
body.visual-perfection-home .atlas-map-fr,
body.visual-perfection-home .atlas-map-it,
body.visual-perfection-home .atlas-map-nz,
body.visual-perfection-home .atlas-map-au,
body.visual-perfection-home .atlas-map-jp {right:1.5%!important;}
body.visual-perfection-home .atlas-map-ie,
body.visual-perfection-home .atlas-map-uk,
body.visual-perfection-home .atlas-map-es {left:1.5%!important;}
body.visual-perfection-home .atlas-map-ca {left:13%!important;}
body.visual-perfection-home .atlas-map-de {left:48%!important;}
body.visual-perfection-home .atlas-map-br {left:12%!important;}
body.visual-perfection-home .atlas-map-us {left:35%!important;}
html[data-theme="dark"] body.visual-perfection-home .hero {
  background:linear-gradient(125deg,#121e2b 0%,#0a1928 54%,#102337 100%)!important;
  border-color:rgba(93,164,179,.22)!important;
  box-shadow:0 20px 52px rgba(0,0,0,.19)!important;
}
html[data-theme="dark"] body.visual-perfection-home .hero::before {
  background:radial-gradient(ellipse at 75% 45%,rgba(27,131,141,.19),transparent 49%),radial-gradient(ellipse at 15% 10%,rgba(103,151,218,.07),transparent 42%);
}
html[data-theme="dark"] body.visual-perfection-home .banner-note {color:#b4c4d0!important;}
html[data-theme="dark"] body.visual-perfection-home .mini-stats {border-color:rgba(144,198,204,.18);}
html[data-theme="dark"] body.visual-perfection-home .mini-stats > div {border-left-color:rgba(144,198,204,.2)!important;}
/* Reduce the stacked-box feel in the following sections, keep all controls. */
body.visual-perfection-home #orbitDrawCalendar,
body.visual-perfection-home #games,
body.visual-perfection-home #orbitCompare {
  margin-top:24px;
  border-radius:24px;
  box-shadow:0 8px 28px rgba(18,51,68,.055)!important;
}
html[data-theme="dark"] body.visual-perfection-home #orbitDrawCalendar,
html[data-theme="dark"] body.visual-perfection-home #games,
html[data-theme="dark"] body.visual-perfection-home #orbitCompare {box-shadow:0 10px 30px rgba(0,0,0,.16)!important;}
/* Laptop and narrow tablet: stack before the map runs out of room. */
@media(max-width:1030px){
 body.visual-perfection-home .hero {grid-template-columns:1fr;gap:6px;padding:clamp(16px,3vw,28px);}
 body.visual-perfection-home .hero > div:first-child {padding:8px!important;}
 body.visual-perfection-home .hero h1 {max-width:18ch;}
 body.visual-perfection-home .hero-art {min-height:430px!important;padding:0 10px!important;}
 body.visual-perfection-home .atlas-globe-scene {width:min(100%,420px)!important;}
}
@media(max-width:600px){
 body.visual-perfection-home .hero {padding:16px;border-radius:23px;gap:2px;}
 body.visual-perfection-home .hero .eyebrow {font-size:10px;margin-bottom:14px;}
 body.visual-perfection-home .hero h1 {font-size:clamp(35px,8.4vw,45px)!important;line-height:1.1!important;margin-bottom:14px;}
 body.visual-perfection-home .hero p {font-size:13px!important;line-height:1.65!important;}
 body.visual-perfection-home .hero-buttons {margin-top:20px;gap:10px;}
 body.visual-perfection-home .hero-buttons .button {flex:1 1 100%;justify-content:center;}
 body.visual-perfection-home .banner-note {margin-top:17px;font-size:11px;}
 body.visual-perfection-home .mini-stats {margin-top:18px;padding-top:13px;}
 body.visual-perfection-home .mini-stats > div {padding:0 8px!important;}
 body.visual-perfection-home .mini-stats > div:first-child {padding-left:0!important;}
 body.visual-perfection-home .mini-stats b {font-size:17px!important;}
 body.visual-perfection-home .mini-stats span {font-size:9px!important;}
 body.visual-perfection-home .hero-art {min-height:310px!important;padding:0!important;}
 body.visual-perfection-home .atlas-globe-scene {width:min(100%,295px)!important;}
 body.visual-perfection-home .atlas-globe-marker {font-size:8px!important;padding:6px 8px!important;}
 body.visual-perfection-home .atlas-globe-marker .atlas-marker-label{font-size:8px!important;}
}
@media(prefers-reduced-motion:reduce){
 body.visual-perfection-home .atlas-globe-marker{animation:none!important;}
}
