/* =========================================================
   ENSCAPE ITALIA — Casino non AAMS Landing
   Theme: Gambling + Italian flag accents (green/white/red)
   ========================================================= */

/* ---------- Reset & Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
img,svg{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}

:root{
  --it-green:#008C45;
  --it-green-2:#006633;
  --it-red:#CD212A;
  --it-red-2:#A6181F;
  --gold:#FFC93C;
  --gold-2:#E0A917;
  --bg:#0d1f1a;
  --bg-2:#0a1813;
  --bg-3:#0f2a22;
  --surface:#ffffff;
  --surface-2:#f7f9f8;
  --border:#e4e8ec;
  --border-2:#d8dee2;
  --text:#152019;
  --text-2:#4a5a52;
  --text-mute:#7a8a82;
  --text-light:#eef5f0;
  --text-on-dark:#dde7e1;
  --shadow-sm:0 1px 2px rgba(0,0,0,.06);
  --shadow-md:0 6px 18px rgba(0,40,20,.08);
  --shadow-lg:0 14px 40px rgba(0,40,20,.16);
  --radius:14px;
  --radius-sm:10px;
  --radius-lg:20px;
  --container:1200px;
  --header-h:64px;
}

html,body{overflow-x:hidden}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;line-height:1.6;color:var(--text);
  background:var(--surface-2);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

.container{
  width:100%;max-width:var(--container);
  margin:0 auto;padding:0 16px;
}

/* ---------- A11y skip link ---------- */
.skip-link{
  position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:10px 14px;z-index:9999;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0}

/* ---------- Italian Flag stripe ---------- */
.flag-stripe{
  height:4px;width:100%;
  background:linear-gradient(to right,var(--it-green) 0 33.33%,#ffffff 33.33% 66.66%,var(--it-red) 66.66% 100%);
  position:relative;z-index:60;
}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(13,31,26,.92);
  backdrop-filter:saturate(140%) blur(8px);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
  color:var(--text-light);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled{
  background:rgba(10,24,19,.96);
  box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.header-inner{
  display:flex;align-items:center;gap:12px;
  height:var(--header-h);
}
.logo{display:inline-flex;align-items:center;flex:0 0 auto}
.logo img{height:36px;width:auto}

.main-nav{
  display:none;align-items:center;gap:22px;
  margin:0 16px;flex:1;
  font-size:14.5px;
}
.main-nav a{
  color:var(--text-on-dark);
  position:relative;padding:6px 2px;
  transition:color .2s;
  white-space:nowrap;
  max-width:240px;overflow:hidden;text-overflow:ellipsis;
}
.main-nav a:first-child{max-width:none}
.main-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--it-red);transition:right .25s ease;
}
.main-nav a:hover{color:#fff}
.main-nav a:hover::after{right:0}

/* Header CTA button */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;text-align:center;cursor:pointer;
  border-radius:999px;padding:11px 18px;
  transition:transform .15s ease, box-shadow .25s ease, background .25s ease;
  border:0;line-height:1;letter-spacing:.2px;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn-header{
  margin-left:auto;
  background:linear-gradient(135deg,var(--it-red) 0%,var(--it-red-2) 100%);
  color:#fff;
  box-shadow:0 6px 14px rgba(205,33,42,.35), inset 0 1px 0 rgba(255,255,255,.18);
  font-size:14px;
}
.btn-header:hover{box-shadow:0 10px 22px rgba(205,33,42,.5), inset 0 1px 0 rgba(255,255,255,.22)}
.btn-header .icon-gift{flex:0 0 auto}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(80% 60% at 80% 0%, rgba(0,140,69,.18), transparent 60%),
    radial-gradient(60% 60% at 10% 100%, rgba(205,33,42,.18), transparent 60%),
    linear-gradient(180deg,#0d1f1a 0%,#0a1813 100%);
  color:var(--text-light);
  padding:48px 0 56px;
  isolation:isolate;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.05) 1px, transparent 0);
  background-size:22px 22px;
  opacity:.6;pointer-events:none;
}
.hero-inner{position:relative;z-index:2;max-width:920px}
.hero-decor{
  position:absolute;inset:0;pointer-events:none;z-index:1;
}
.hero-decor .chip{
  position:absolute;border-radius:50%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), transparent 50%),
    repeating-conic-gradient(var(--it-red) 0 30deg, #fff 30deg 60deg);
  box-shadow:0 8px 30px rgba(0,0,0,.35), inset 0 0 0 6px rgba(0,0,0,.18);
  opacity:.18;
}
.hero-decor .chip-1{width:160px;height:160px;top:-40px;right:-30px;transform:rotate(20deg)}
.hero-decor .chip-2{width:110px;height:110px;bottom:-30px;left:-20px;transform:rotate(-15deg);background:repeating-conic-gradient(var(--it-green) 0 30deg, #fff 30deg 60deg)}
.hero-decor .suit{
  position:absolute;font-size:120px;line-height:1;font-family:Georgia,serif;
  color:rgba(255,255,255,.04);user-select:none;
}
.hero-decor .s-spade{top:30px;left:55%}
.hero-decor .s-heart{bottom:20px;right:18%;color:rgba(205,33,42,.07)}
.hero-decor .s-diamond{top:50%;left:8%;color:rgba(205,33,42,.06);font-size:80px}
.hero-decor .s-club{bottom:5%;left:35%;font-size:90px}
.hero-decor .seven{
  position:absolute;font-family:"Georgia",serif;font-weight:900;font-size:140px;color:rgba(255,201,60,.05);
}
.hero-decor .seven-1{top:40px;right:35%}
.hero-decor .seven-2{bottom:0;right:5%}

.hero-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,201,60,.12);
  color:var(--gold);border:1px solid rgba(255,201,60,.3);
  padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:700;
  margin-bottom:14px;letter-spacing:.3px;
}
.hero h1{
  font-size:clamp(28px,5.4vw,46px);
  line-height:1.15;font-weight:800;
  margin-bottom:14px;
  background:linear-gradient(135deg,#ffffff 0%,#dfe9e2 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.5px;
}
.hero-lead{
  font-size:clamp(15px,2vw,17.5px);
  color:var(--text-on-dark);
  max-width:780px;
}
.hero-meta{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;
}
.meta-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:#fff;font-size:12.5px;font-weight:600;
  padding:6px 11px;border-radius:999px;
}
.meta-pill svg{color:var(--gold)}

/* ---------- Listing section ---------- */
.listing-section{
  background:var(--surface-2);
  padding:36px 0 56px;
  position:relative;
}
.listing-section::before{
  content:"";position:absolute;left:50%;top:-22px;transform:translateX(-50%);
  width:80px;height:6px;border-radius:999px;
  background:linear-gradient(to right,var(--it-green) 0 33%,#fff 33% 66%,var(--it-red) 66% 100%);
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.section-title{
  font-size:clamp(22px,3.2vw,30px);
  line-height:1.25;font-weight:800;
  text-align:center;color:var(--text);
  margin:8px auto 6px;max-width:880px;
}
.section-sub{
  text-align:center;color:var(--text-2);
  margin:0 auto 28px;max-width:680px;font-size:15px;
}

/* ---------- Casino Cards ---------- */
.casino-list{display:grid;gap:14px}
.casino-card{
  position:relative;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px 18px 18px 60px;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease, box-shadow .25s ease, border-color .2s ease;
  overflow:hidden;
}
.casino-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
  border-color:#cbd6cf;
}
.casino-card.top-pick{
  border:1px solid rgba(255,201,60,.55);
  box-shadow:0 6px 24px rgba(255,201,60,.15), 0 1px 2px rgba(0,0,0,.04);
}
.casino-card.top-pick::after{
  content:"TOP";position:absolute;top:14px;right:0;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 100%);
  color:#3a2700;font-weight:900;font-size:11px;letter-spacing:1px;
  padding:4px 10px;border-radius:6px 0 0 6px;
  box-shadow:0 4px 10px rgba(255,201,60,.45);
}
.rank{
  position:absolute;top:14px;left:14px;
  width:34px;height:34px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:900;font-size:15px;
  background:linear-gradient(135deg,var(--it-green) 0%,var(--it-green-2) 100%);
  color:#fff;
  box-shadow:0 4px 10px rgba(0,140,69,.35);
}
.casino-card.top-pick .rank{
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 100%);
  color:#3a2700;
  box-shadow:0 4px 12px rgba(255,201,60,.5);
}

.brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.logo-wrap{
  width:100%;height:80px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#fafdfb 0%,#f1f5f3 100%);
  border-radius:var(--radius-sm);
  padding:8px;border:1px solid var(--border);
}
.logo-wrap img{max-height:60px;width:auto;object-fit:contain}
.brand-name{
  font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.2px;
}
.rating{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-2)}
.rating-num{font-weight:700;color:var(--text)}
.stars{
  position:relative;display:inline-block;width:90px;height:16px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'><path fill='%23dde2e0' d='M9 1l2.4 5.4L17 7l-4.2 3.7L13.7 16 9 13.4 4.3 16l.9-5.3L1 7l5.6-.6z'/></svg>") repeat-x;
  background-size:18px 16px;
}
.stars-fill{
  position:absolute;left:0;top:0;height:100%;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'><path fill='%23FFC93C' d='M9 1l2.4 5.4L17 7l-4.2 3.7L13.7 16 9 13.4 4.3 16l.9-5.3L1 7l5.6-.6z'/></svg>") repeat-x;
  background-size:18px 16px;
}

.bonus{
  background:linear-gradient(135deg,#fff8e6 0%,#fff3d0 100%);
  border:1px dashed rgba(224,169,23,.5);
  border-radius:var(--radius-sm);
  padding:14px;text-align:center;
}
.bonus-label{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:1px;
  color:var(--gold-2);text-transform:uppercase;margin-bottom:4px;
}
.bonus-text{
  font-size:15.5px;line-height:1.35;color:var(--text);font-weight:600;
}
.bonus-text strong{
  font-size:21px;font-weight:900;color:var(--it-red);display:inline-block;
}

.features{display:flex;flex-direction:column;gap:8px}
.features li{
  display:flex;align-items:center;gap:8px;
  font-size:14px;color:var(--text);
}
.features .check{
  flex:0 0 auto;width:18px;height:18px;
  border-radius:50%;
  background:rgba(0,140,69,.12);
  padding:3px;color:var(--it-green);
  fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;
}

.card-cta{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.btn-cta{
  background:linear-gradient(135deg,var(--it-green) 0%,var(--it-green-2) 100%);
  color:#fff;font-weight:800;font-size:15px;
  padding:13px 18px;border-radius:10px;
  box-shadow:0 6px 14px rgba(0,140,69,.32), inset 0 1px 0 rgba(255,255,255,.2);
  position:relative;overflow:hidden;
}
.btn-cta::before{
  content:"";position:absolute;top:0;left:-60%;width:30%;height:100%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-20deg);transition:left .6s ease;
}
.btn-cta:hover::before{left:120%}
.btn-cta:hover{box-shadow:0 10px 22px rgba(0,140,69,.45)}
.terms-note{
  font-size:11px;color:var(--text-mute);text-align:center;
}

/* ---------- Article Content ---------- */
.content{
  background:var(--surface);
  padding:48px 0 56px;
  border-top:1px solid var(--border);
}
.content .container{max-width:920px}
.content > .container > p,
.content > .container > ul,
.content > .container > ol{
  font-size:16px;color:var(--text);margin:0 0 16px;
}
.content h2{
  font-size:clamp(20px,2.8vw,26px);
  font-weight:800;line-height:1.3;
  color:var(--text);
  margin:32px 0 14px;padding-bottom:10px;
  border-bottom:2px solid transparent;
  background:linear-gradient(to right,var(--it-green) 0 33%,#fff 33% 66%,var(--it-red) 66% 100%) bottom left/60px 3px no-repeat;
  scroll-margin-top:calc(var(--header-h) + 16px);
}
.content h3{
  font-size:clamp(17px,2.4vw,20px);
  font-weight:700;color:var(--text);
  margin:22px 0 8px;
  scroll-margin-top:calc(var(--header-h) + 16px);
}
.content ul li,.content ol li{
  position:relative;padding-left:22px;margin-bottom:8px;
}
.content ul li::before{
  content:"";position:absolute;left:0;top:9px;
  width:8px;height:8px;border-radius:2px;
  background:linear-gradient(135deg,var(--it-green),var(--it-red));
}

/* ---------- Tables (in content) ---------- */
.table-wrap{
  margin:14px 0 22px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--border);border-radius:var(--radius-sm);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.content table{
  width:100%;border-collapse:collapse;font-size:14.5px;
  min-width:560px;
}
.content table tr:first-child td{
  background:linear-gradient(135deg,var(--bg) 0%,var(--bg-3) 100%);
  color:#fff;
}
.content table tr:first-child td p{color:#fff;font-weight:700}
.content table td{
  padding:12px 14px;
  border-bottom:1px solid var(--border);
  vertical-align:middle;
}
.content table tr:nth-child(even) td{background:#fafcfb}
.content table tr:last-child td{border-bottom:none}
.content table p{margin:0;font-size:14.5px}

/* ---------- FAQ ---------- */
.content #faq + h3,
.content .faq-q{
  cursor:pointer;
  background:#fafcfb;
  border:1px solid var(--border);
  border-radius:10px;
  padding:14px 44px 14px 16px;
  margin:10px 0 0;
  position:relative;font-size:16px;font-weight:700;
  transition:background .2s ease, border-color .2s ease;
}
.content .faq-q:hover{background:#f1f5f3;border-color:var(--border-2)}
.content .faq-q::after{
  content:"";position:absolute;right:18px;top:50%;
  width:10px;height:10px;border-right:2px solid var(--it-green);border-bottom:2px solid var(--it-green);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s ease;
}
.content .faq-q[aria-expanded="true"]::after{transform:translateY(-30%) rotate(-135deg)}
.content .faq-a{
  max-height:0;overflow:hidden;
  margin:0 0 0;padding:0 16px;
  border-left:3px solid var(--it-green);
  background:#fff;
  transition:max-height .35s ease, padding .25s ease, margin .25s ease;
}
.content .faq-a.is-open{
  max-height:600px;padding:14px 16px 16px;margin:0 0 10px;
  border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px;
  border-left:3px solid var(--it-green);
}

/* ---------- Footer ---------- */
.site-footer{
  background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);
  color:var(--text-on-dark);
  padding:48px 0 0;margin-top:0;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-grid{
  display:grid;grid-template-columns:1fr;gap:28px;
  padding-bottom:36px;
}
.footer-brand img{height:36px;width:auto;margin-bottom:12px;filter:brightness(1.1)}
.footer-brand p{font-size:14px;color:var(--text-on-dark);max-width:340px}
.footer-nav h4,.footer-responsible h4{
  color:#fff;font-size:14px;font-weight:800;margin-bottom:14px;letter-spacing:.5px;text-transform:uppercase;
}
.footer-nav ul li{margin-bottom:8px}
.footer-nav a{color:var(--text-on-dark);font-size:14.5px;transition:color .2s}
.footer-nav a:hover{color:var(--gold)}
.footer-responsible p{font-size:14px;margin-bottom:12px}
.responsible-icons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.age-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;
  border:2px solid var(--it-red);color:#fff;font-weight:900;font-size:13px;
  background:rgba(205,33,42,.15);
}
.resp-link{
  display:inline-flex;align-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;font-size:12px;font-weight:700;
  padding:8px 12px;border-radius:8px;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.07);
  padding:18px 0;background:rgba(0,0,0,.18);
  font-size:12.5px;color:#a8b8af;
}
.footer-bottom .disclaimer{margin-bottom:6px;line-height:1.55}
.footer-bottom .copyright{color:#8aa092}

/* ---------- Tablet (≥600px) ---------- */
@media (min-width:600px){
  .container{padding:0 22px}
  .casino-card{
    grid-template-columns:1.1fr 1.4fr 1fr;
    grid-template-areas:
      "brand bonus features"
      "brand bonus cta";
    gap:18px;
    padding:18px 18px 18px 70px;
    align-items:center;
  }
  .brand{grid-area:brand}
  .bonus{grid-area:bonus}
  .features{grid-area:features}
  .card-cta{grid-area:cta}
  .footer-grid{grid-template-columns:1fr 1fr}
}

/* ---------- Desktop (≥900px) ---------- */
@media (min-width:900px){
  :root{--header-h:72px}
  .main-nav{display:flex}
  .casino-card{
    grid-template-columns:1fr 1.4fr 2fr 1.1fr;
    grid-template-areas:"brand bonus features cta";
    align-items:center;gap:22px;
    padding:22px 22px 22px 80px;
  }
  .rank{
    width:42px;height:42px;font-size:17px;top:50%;left:18px;transform:translateY(-50%);
  }
  .casino-card.top-pick::after{top:0;right:18px;border-radius:0 0 6px 6px;padding:5px 12px;font-size:12px}
  .features{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
  .features li{font-size:13.5px}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:36px;padding-bottom:42px}
  .hero{padding:72px 0 88px}
  .listing-section{padding:48px 0 72px}
  .content{padding:64px 0 80px}
  .content .container{max-width:980px}
}

/* ---------- Wide Desktop (≥1100px) ---------- */
@media (min-width:1100px){
  .casino-card{padding:24px 24px 24px 90px}
  .brand-name{font-size:19px}
  .bonus-text{font-size:16px}
  .bonus-text strong{font-size:23px}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
  .btn-cta::before{display:none}
}

/* ---------- Print ---------- */
@media print{
  .site-header,.btn,.hero-decor,.site-footer{display:none}
  body{color:#000;background:#fff}
  .casino-card{break-inside:avoid;border:1px solid #999}
}
