/* ====================== BASE ====================== */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

.page-wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body {
  flex: 1;
  font-family: 'Segoe UI', sans-serif;
  background-color: #0f0f1a;
  color: white;
}

/* ====================== NAVBAR ====================== */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.2rem 2rem;
  background-color: #111;
  box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

main, .page-wrapper, .checkout-wrapper, .bot-discord-container {
  padding-top: 80px; /* Altezza navbar + margine di sicurezza */
}

.logo-link {
  display: inline-block;
}

.logo {
  height: 35px;
  width: auto;
  object-fit: contain;
  display: block;
}

.nav-links {
  list-style: none;
  display: flex;
  gap: 1.5rem;
  padding-left: 0;
  margin: 0 auto;
  position: relative;
}

.nav-links li {
  position: relative;
  margin: 0;
  padding: 0;
}

.nav-links a {
  color: white;
  text-decoration: none;
  font-size: 1rem;
  padding: 0.5rem;
  display: inline-block;
}

/* ====================== DROPDOWN ====================== */
.dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #1e1e2f;
  border: 1px solid #333;
  border-radius: 5px;
  min-width: 160px;
  flex-direction: column;
  z-index: 999;
  list-style: none;
  padding: 0;
  margin: 0;
}

.dropdown-menu li a {
  padding: 10px;
  display: block;
  color: white;
  text-decoration: none;
}

.dropdown-menu li a:hover {
  background-color: #2c2c40;
}

.dropdown:hover .dropdown-menu,
.user-dropdown:hover .dropdown-menu {
  display: flex;
  flex-direction: column;
}

/* ====================== CART + LOGIN WRAPPER ====================== */
.navbar-icons {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* ====================== USER ICON ====================== */
.user-dropdown {
  position: relative;
}

.user-icon-wrapper {
  cursor: pointer;
  padding: 0.5rem;
  color: white;
}

/* ====================== USER MENU ====================== */
.user-dropdown .user-menu {
  position: absolute;
  top: 100%;
  right: 0;       /* agganciato al bordo destro dellÃ¢â‚¬â„¢icona */
  left: auto;     /* evita che si apra verso destra */
  background: #111;
  border-radius: 6px;
  padding: 0.5rem 0;
  min-width: 160px;
  z-index: 999;
}

.user-dropdown .user-menu li a {
  display: block;
  padding: 0.6rem 1rem;
  color: white;
  text-decoration: none;
}

.user-dropdown .user-menu li a:hover {
  background: #5e17eb;
}

/* ====================== CART ICON ====================== */
.cart-icon-wrapper {
  display: inline-flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  padding: 0.5rem;
  font-size: 1.2rem;
  color: white;
}

.cart-icon-wrapper:hover {
  color: #5e17eb;
}

/* ====================== CART BADGE ====================== */
.cart-count {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(30%, -30%);
  background-color: #e74c3c;
  color: white;
  font-size: 0.7rem;
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 50%;
  pointer-events: none;
  line-height: 1;
  min-width: 18px;
  text-align: center;
}

/* ====================== CONTAINER ====================== */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
}

/* ====================== HERO ====================== */
.hero {
  width: 100%;
  background-color: #141421;
  padding: 4rem 0;
}

.hero-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  max-width: 1800px;
  margin: 0 auto;
  padding: 0;
}

.hero-text {
  flex: 1;
  margin-left: 80px;
}

.hero-text h1 {
  font-size: 3.2rem;
  margin-bottom: 1rem;
  text-align: left;
}

.hero-text p {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
  text-align: left;
}

.cta {
  background-color: #3db1ff;
  color: white;
  padding: 0.8rem 2rem;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
}

.hero-img {
  flex: 1;
  display: flex;
  justify-content: center;
}

.hero-img img {
  width: 450px;
  max-width: 100%;
  object-fit: contain;
}

/* ====================== MERCHANDISING ====================== */
.merchandising-wrapper {
  padding: 4rem 0;
}

.merch-row {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3rem;
}

.merch-title {
  flex-shrink: 0;
  margin-left: 0;
  padding-left: 0;
  text-align: left;
}

.merch-title h2 {
  font-size: 5rem;
  margin-bottom: 0.5rem;
  color: white;
  text-align: left;
}

.fulleaten-logo {
  width: 500px;
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: 0;
}

.merch-box {
  flex: 1;
  background-color: #181828;
  padding: 2rem;
  border-radius: 10px;
  text-align: center;
  max-width: 500px;
}

.merch-items img {
  width: 280px;
  height: auto;
  border-radius: 10px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.merch-items img:hover {
  transform: scale(1.05);
}

/* ====================== FOOTER ====================== */
.site-footer {
  background-color: #0c0c15;
  color: #aaa;
  padding: 1rem 2rem 2rem;
  font-size: 0.95rem;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.footer-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.footer-logo {
  width: 200px;
  height: auto;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}

.footer-links a {
  color: #ccc;
  text-decoration: none;
  font-size: 0.95rem;
}

.footer-links a:hover {
  color: #3db1ff;
}

.footer-bottom {
  text-align: center;
  font-size: 0.85rem;
  padding-top: 1rem;
  border-top: 1px solid #222;
  color: #666;
  margin-top: 1rem;
}

/* ====================== AUTH FORM ====================== */
.auth-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;       /* logo in alto + wrapper centrato */
  align-items: center;          /* centra orizzontalmente */
  justify-content: center;      /* centra verticalmente */
  background: url('/img/login-bg.png') no-repeat center center fixed;
  background-size: cover;
  position: relative;
}

/* Wrapper centrale */
.auth-wrapper {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

/* Box */
.auth-container {
  background-color: rgba(24, 24, 40, 0.9);
  padding: 2rem 2.4rem;
  border-radius: 10px;
  max-width: 400px;
  width: 90%;
  box-shadow: 0 0 10px #000;
  text-align: center;
}

/* â”€â”€ NOVITÃ€: layout verticale e centrato del form â”€â”€ */
.auth-container form{
  display:flex;
  flex-direction:column;
  align-items:center;    /* centra eventuali elementi non full-width */
  gap:1rem;
  margin-top:1rem;
}

.auth-container input{
  width:100%;
  padding:.8rem 1rem;
  border:none;
  border-radius:5px;
  font-size:1rem;
}

.auth-container button{
  width:100%;
  padding:.8rem 1rem;
  background:#3db1ff;
  border:none;
  border-radius:5px;
  font-size:1rem;
  color:#fff;
  cursor:pointer;
}
.auth-container button:hover{background:#3198e4}

.forgot-link{
  display:block;
  margin-top:.4rem;
  font-size:.85rem;
}

.auth-container a{
  color:#3db1ff;
  text-decoration:none;
  font-size:.9rem;
}
.auth-container a:hover{text-decoration:underline}

/* Logo in alto a sinistra */
.auth-logo{
  position:absolute;
  top:20px; left:20px;
  z-index:10;
}
.auth-logo img{height:35px}

/* Toast */
.toast-container{position:fixed;top:30px;right:30px;z-index:9999}
.toast{
  background:#21124d;color:#fff;
  padding:.9rem 1.2rem;border-radius:8px;font-size:.9rem;
  margin-top:.5rem;
}

/* ====================== CONTATTI ====================== */
.contatti-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #0f0f1a;
  color: white;
  font-family: 'Segoe UI', sans-serif;
  margin: 0;
}

/* Navbar sempre attaccata sopra */
.contatti-page .navbar {
  margin-top: 0;
  position: relative;
  top: 0;
}

/* Banner sotto navbar */
.banner-wrapper {
  width: 100%;
  height: 30vh;      /* proporzionale allÃ¢â‚¬â„¢altezza viewport */
  min-height: 180px; /* non meno di 180px */
  max-height: 300px; /* non oltre 300px */
  overflow: hidden;
}

.banner-contatti {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Contenuto principale (contatti + form) */
.contatti-container {
  flex: 1;
  padding: 3rem 1rem;
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  gap: 3rem;
  align-items: flex-start;
  justify-content: space-between;
}

.contatti-info {
  flex: 1;
  min-width: 300px;
}

.contatti-info h2 {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.contatti-info p {
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

.contatti-info ul {
  list-style: none;
  padding: 0;
  font-size: 1rem;
}

.contatti-info li {
  margin-bottom: 0.5rem;
}

.contatti-info a {
  color: #3db1ff;
  text-decoration: none;
}

.contatti-info a:hover {
  text-decoration: underline;
}

.contatti-form-wrapper {
  flex: 1;
  min-width: 300px;
  background-color: #181828;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 10px #000;
}

.contatti-form input,
.contatti-form textarea {
  width: 100%;
  padding: 0.8rem;
  margin-bottom: 1rem;
  border: none;
  border-radius: 5px;
  font-size: 1rem;
  background-color: #0f0f1a;
  color: white;
}

.contatti-form textarea {
  min-height: 120px;
  resize: vertical;
}

.contatti-form button {
  width: 100%;
  padding: 0.8rem;
  background-color: #3db1ff;
  border: none;
  border-radius: 5px;
  font-size: 1rem;
  color: white;
  cursor: pointer;
}

/* ====================== CHI SIAMO ====================== */
.chi-siamo-container {
  padding: 3rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
  font-family: 'Segoe UI', sans-serif;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.chi-siamo-section {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.chi-siamo-section.reverse {
  flex-direction: row-reverse;
}

.chi-siamo-img-wrapper {
  flex: 1 1 45%;
}

.chi-siamo-img {
  width: 100%;
  height: auto;
  max-height: 250px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

.chi-siamo-text {
  flex: 1 1 50%;
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: justify;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ BANNER Ã¢â‚¬Å“CHI SIAMOÃ¢â‚¬Â Ã¢â‚¬â€Ã¢â‚¬â€ */
.banner-wrapper {
  width: 100%;
  height: 180px;          /* scegli tu: 220-300px di solito bastano */
  overflow: hidden;       /* taglia lÃ¢â‚¬â„¢eccesso in altezza */
  margin: 0;              /* evita padding/margini del body */
}

.banner-chi-siamo {
  width: 100%;
  height: 100%;           /* riempie il wrapper */
  object-fit: cover;      /* ritaglia mantenendo le proporzioni */
  display: block;         /* niente spazi bianchi sotto <img> */
}

/* ====================== GALLERIA ====================== */
.galleria-container {
  max-width: 1200px;
  margin: 3rem auto;
  padding: 0 1rem;
  color: white;
  font-family: 'Segoe UI', sans-serif;
}

.galleria-section {
  margin-bottom: 4rem;
}

.galleria-section h2 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  color: #3db1ff;
  border-bottom: 2px solid #3db1ff;
  padding-bottom: 0.5rem;
}

/* ======== CAROUSEL IMMAGINI ======== */
.carousel {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: 1rem;
}

.carousel-track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 1rem;
}

.carousel-track::-webkit-scrollbar {
  height: 8px;
}

.carousel-track::-webkit-scrollbar-thumb {
  background: #3db1ff;
  border-radius: 4px;
}

.carousel-image {
  flex: 0 0 auto;
  height: 220px;
  width: auto;
  max-width: 300px;
  border-radius: 10px;
  object-fit: cover;
  box-shadow: 0 0 8px #000;
  cursor: pointer;
  transition: transform 0.2s;
  scroll-snap-type: x mandatory;
}

.carousel-video {
  width: 100%;
  height: 240px; /* Altezza fissa sufficiente a mostrare tutti i controlli */
  border-radius: 12px;
  box-shadow: 0 0 10px #000;
  object-fit: cover;
  background-color: black;
}

.carousel-image:hover {
  transform: scale(1.05);
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(24, 24, 40, 0.8);
  border: none;
  color: white;
  font-size: 2rem;
  cursor: pointer;
  padding: 0.5rem 1rem;
  z-index: 10;
  border-radius: 6px;
  pointer-events: auto;
}

.carousel-btn.prev { left: 10px; }
.carousel-btn.next { right: 10px; }

/* ======== VIDEO GALLERY ======== */
.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.gallery-video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border-radius: 12px;
  box-shadow: 0 0 10px #000;
  object-fit: cover;
}

/* ======== LIGHTBOX OVERLAY ======== */
.lightbox-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 1rem;
}

.lightbox-overlay img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 10px;
  box-shadow: 0 0 20px #000;
}

.close-lightbox {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 2.5rem;
  color: white;
  cursor: pointer;
  z-index: 10000;
  user-select: none;
}

/* ====================== LAVORA CON NOI ====================== */
.lavora-container {
  padding: 3rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
  font-family: 'Segoe UI', sans-serif;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.lavora-section {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.lavora-section.reverse {
  flex-direction: row-reverse;
}

.lavora-img-wrapper {
  flex: 1 1 45%;
}

.lavora-img {
  width: 100%;
  height: auto;
  max-height: 250px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

.lavora-text {
  flex: 1 1 50%;
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: justify;
}

/* ====================== FORM ====================== */
.form-container {
  background-color: #f3f3f3;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  color: #222;
  width: 100%;
}

.form-container h3 {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  color: #111;
}

.form-container p {
  margin-bottom: 1.5rem;
  font-size: 1rem;
  color: #444;
}

.lavora-form input,
.lavora-form textarea {
  width: 100%;
  padding: 0.75rem;
  font-size: 1rem;
  border-radius: 8px;
  border: 1px solid #ccc;
  margin-bottom: 1rem;
  font-family: 'Segoe UI', sans-serif;
  resize: vertical;
}

.file-upload label {
  font-weight: 600;
  display: block;
  margin-bottom: 0.5rem;
  color: #333;
}

.file-upload input[type="file"] {
  border: none;
  background: none;
  padding: 0;
  font-size: 0.95rem;
  color: #000;
}

.btn-submit {
  background-color: #5e17eb;
  color: white;
  padding: 0.75rem 2rem;
  font-size: 1rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.btn-submit:hover {
  background-color: #4712b5;
}

@media (max-width: 768px) {
  .lavora-section {
    flex-direction: column;
  }
  .lavora-img-wrapper,
  .lavora-text {
    flex: 1 1 100%;
  }
  .lavora-img {
    max-height: 200px;
  }
}

/* ====================== COOKIE PAGE ====================== */
.cookie-container {
  padding: 3rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
  font-family: 'Segoe UI', sans-serif;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.cookie-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cookie-text {
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: justify;
}

.cookie-text h2,
.cookie-text h3 {
  color: #fff;
}

.cookie-text ul {
  margin-left: 1.5rem;
  list-style-type: disc;
}

.cookie-text a {
  color: #5e17eb;
  text-decoration: underline;
}

/* ====================== PRIVACY PAGE ====================== */
.privacy-container {
  padding: 3rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
  font-family: 'Segoe UI', sans-serif;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.privacy-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.privacy-text {
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: justify;
}

.privacy-text h2,
.privacy-text h3 {
  color: #fff;
}

.privacy-text ul {
  margin-left: 1.5rem;
  list-style-type: disc;
}

.privacy-text a {
  color: #5e17eb;
  text-decoration: underline;
}

/* ====================== CONDIZIONI D'USO ====================== */
.uso-container {
  padding: 3rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
  font-family: 'Segoe UI', sans-serif;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.uso-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.uso-text {
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: justify;
}

.uso-text h2,
.uso-text h3 {
  color: #fff;
}

/* ====================== CORPORATE GOVERNANCE ====================== */
.governance-container {
  padding: 3rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
  font-family: 'Segoe UI', sans-serif;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.governance-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.governance-text {
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: justify;
}

.governance-text h2,
.governance-text h3 {
  color: #fff;
}

/* ====================== CARRELLO ====================== */
.carrello-container{
  flex:1;
  max-width:1000px;
  margin:0 auto;
  padding:3rem 1rem;
  font-family:'Segoe UI',sans-serif;
  color:#fff;
}

/* ---------- tabella responsive ---------- */
.carrello-tabella-wrapper{
  overflow-x:auto;                   /* scrollbar solo se serve */
  margin-bottom:1.5rem;
}
.carrello-tabella{
  width:100%;
  border-collapse:collapse;
  min-width:760px;                   /* evita schiacciamento su mobile */
}
.carrello-tabella th,
.carrello-tabella td{
  padding:.8rem .6rem;
  text-align:center;
}
.carrello-tabella thead th{
  background:#0f0f1a;
  border-bottom:2px solid #5e17eb;
  font-weight:600;
}
.carrello-tabella tbody tr:nth-child(even){
  background:#1e1e2f;
}

/* ---------- thumbnail ---------- */
.cart-thumb{
  width:48px;height:48px;
  object-fit:cover;
  border-radius:6px;
}

/* ---------- quantitÃƒÂ  con +/- ---------- */
.qty-cell{
  display:flex;
  align-items:center;
  gap:6px;
  justify-content:center;
}
.qty-btn{
  width:28px;height:28px;
  border:none;
  border-radius:4px;
  background:#202035;
  color:#fff;
  font-size:1rem;
  cursor:pointer;
}
.qty-btn:hover{background:#2a2a45}
.qty-input{
  width:50px;
  text-align:center;
  border:1px solid #555;
  border-radius:4px;
  background:#181828;
  color:#fff;
  padding:.25rem 0;
}

/* ---------- bottone rimozione ---------- */
.del-btn{
  background:#d63031;
  border:none;
  color:#fff;
  padding:.35rem .75rem;
  border-radius:6px;
  cursor:pointer;
}
.del-btn i{pointer-events:none}
.del-btn:hover{background:#b71c1c}

/* ---------- totale + checkout ---------- */
.checkout-wrapper {
  max-width: 900px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.checkout-title {
  font-size: 1.8rem;
  color: white;
  margin-bottom: 2rem;
  text-align: center;
}

.checkout-preview {
  background: #1a1a2e;
  padding: 1rem;
  border-radius: 10px;
  color: #ddd;
  margin-bottom: 2.5rem;
}

.checkout-preview table {
  width: 100%;
  border-collapse: collapse;
}

.checkout-preview th,
.checkout-preview td {
  padding: .6rem;
  border-bottom: 1px solid #333;
  text-align: left;
}

.checkout-preview th {
  color: #fff;
}

.checkout-preview tfoot th {
  font-size: 1.1rem;
  color: #3db1ff;
}

.checkout-form {
  background: #111;
  padding: 1.5rem;
  border-radius: 10px;
  color: white;
}

.checkout-form h3 {
  margin-top: 1rem;
  margin-bottom: 0.6rem;
  font-size: 1.2rem;
  color: #3db1ff;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.checkout-form input {
  padding: .8rem;
  border: none;
  border-radius: 6px;
  background: #1e1e2e;
  color: white;
}

.checkout-note {
  font-size: 0.9rem;
  color: #ccc;
  margin-bottom: 1rem;
}

.btn-checkout {
  display: block;
  width: 100%;
  background: #5e17eb;
  color: #fff !important;
  padding: 1rem;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
}

.btn-checkout:hover {
  background: #4712b5;
}

/* ---------- carrello vuoto ---------- */
.cart-empty{
  background:#1a1a1a;
  border-radius:10px;
  padding:2rem;
  text-align:center;
  font-size:1.1rem;
}
.cart-empty a.btn-back{
  display:inline-block;
  margin-top:1rem;
  padding:.7rem 1.5rem;
  background:#5e17eb;
  color:#fff;
  border-radius:6px;
  text-decoration:none;
}
.cart-empty a.btn-back:hover{background:#4712b5}

/* ---------- titoli ---------- */
.carrello-container h2{
  font-size:2rem;
  margin-bottom:1.5rem;
}
@media(max-width:600px){
  .carrello-container h2{font-size:1.6rem;text-align:center}
}


/* ========== BANNER GENERICO (tutte le pagine cheat) ========== */
.banner-wrapper{
  width:100%;
  margin:0 0 2rem 0;          /* margine solo sotto */
  padding:0;
}
.banner-img{
  width:100%;
  max-height:180px;
  height:auto;
  display:block;
  object-fit:cover;
}

/* =======================================================
   CHEATS Ã¢â‚¬â€œ layout, carousel, toast, footer sticky
======================================================= */

/* ------- wrapper di pagina ------- */
.cheat-page{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
.cheat-container { flex: 1; padding: 2rem; }

/* ------- card prodotto ------- */
.cheat-details{
  background:#181828;
  color:#fff;
  padding:2rem;
  border-radius:10px;
  box-shadow:0 0 10px #000;
  max-width:900px;
  margin:0 auto 3rem;
}
.cheat-details img{
  width:100%;
  max-width:400px;
  border-radius:10px;
  object-fit:cover;
  display:block;
  margin-bottom:1.5rem;
}

/* badge Ã¢â‚¬Å“UNDETECTEDÃ¢â‚¬Â */
.badge-undetected{
  display:inline-block;
  background:#27ae60;
  color:#fff;
  font-size:.9rem;
  font-weight:600;
  padding:4px 10px;
  border-radius:20px;
  margin-bottom:1rem;
}

/* ------- select + quantitÃƒÂ  + badge stock ------- */
.cheat-select{
  margin-top:1rem;
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  align-items:center;
}
.cheat-select label{font-weight:600;}

.cheat-details select,
.cheat-details input[type="number"]{
  padding:.6rem;
  font-size:1rem;
  border-radius:6px;
  border:none;
  background:#1e1e2f;
  color:#fff;
  width:auto;
}

/* badge Ã¢â‚¬Å“disponibilitÃƒÂ Ã¢â‚¬Â Ã¢â‚¬â€œ tre stati */
#stock-info{
  font-weight:600;
}
#stock-info.ok  {color:#27ae60;}   /* verde */
#stock-info.low {color:#e8c547;}   /* giallo */
#stock-info.none{color:#e74c3c;}   /* rosso */

/* ------- prezzo totale ------- */
.cheat-total{
  margin-top:1.5rem;
  background:#1e1e2f;
  color:#5e17eb;
  padding:10px 20px;
  border-radius:8px;
  font-weight:bold;
  display:inline-block;
}

/* ------- bottone carrello ------- */
.btn-add-cart{
  background:#5e17eb;
  color:#fff;
  padding:.8rem 1.8rem;
  border:none;
  border-radius:6px;
  cursor:pointer;
}
.btn-add-cart.disabled,
.btn-add-cart:disabled{
  opacity:.5;cursor:not-allowed;
}
.btn-add-cart:hover:not(.disabled){
  background:#4712b5;
}

/* ------- elenco feature ------- */
.cheat-details ul{
  list-style:none;
  padding-left:0;
}
.cheat-details li{
  margin-bottom:.5rem;
  padding-left:1.5rem;
  position:relative;
}
.cheat-details li::before{
  content:"Ã¢â‚¬Â¢";
  position:absolute;
  left:0;
  color:#5e17eb;
}

/* =====================================================
   MEDIA / CAROUSEL
===================================================== */
.cheat-media{
  max-width:900px;
  margin:2rem auto;
  background:#121222;
  padding:2rem;
  border-radius:10px;
  box-shadow:0 0 10px #000;
  color:#fff;
  position:relative;
}
.cheat-media h3{margin-bottom:1rem;color:#5e17eb;}

.cheat-media-carousel{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  scroll-behavior:smooth;
  padding-bottom:1rem;
}
.cheat-media-carousel img,
.cheat-media-carousel video{
  height:180px;
  border-radius:8px;
  flex-shrink:0;
  cursor:pointer;
  transition:transform .2s;
}
.cheat-media-carousel img:hover,
.cheat-media-carousel video:hover{
  transform:scale(1.05);
}

/* frecce navigazione carousel */
.carousel-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-size:2rem;
  color:#fff;
  cursor:pointer;
  z-index:2;
  user-select:none;
}
.carousel-prev{left:-1.5rem;}
.carousel-next{right:-1.5rem;}

/* =====================================================
   LIGHTBOX
===================================================== */
#lightbox{
  position:fixed;inset:0;
  background:rgba(0,0,0,.9);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}
#lightbox-content img,
#lightbox-content video{
  max-width:90%;
  max-height:80vh;
  border-radius:10px;
}
#lightbox-close{
  position:absolute;
  top:20px;right:30px;
  font-size:2rem;
  color:#fff;
  cursor:pointer;
}

/* =====================================================
   TOAST
===================================================== */
.toast-container{
  position:fixed;
  bottom:30px;right:30px;
  display:flex;
  flex-direction:column;
  gap:10px;
  z-index:10000;
}
.toast{
  background:#21124d;
  color:#fff;
  padding:.9rem 1.2rem;
  border-radius:8px;
  font-size:.9rem;
  box-shadow:0 0 8px rgba(0,0,0,.4);
  animation:fadeInOut 3.5s forwards;
}
@keyframes fadeInOut{
  0%  {opacity:0;transform:translateY(20px);}
  10% {opacity:1;transform:translateY(0);}
  85% {opacity:1;}
  100%{opacity:0;transform:translateY(-20px);}
}

/* ------- footer sempre in fondo ------- */
.site-footer{margin-top:auto;}

/* ------- admin button ------- */

.admin-actions.top-right {
  max-width: none !important;
  margin: 0 !important;
  width: 100%;
  padding: 0 2rem;            /* tolto spazio sopra */
  display: flex;
  justify-content: flex-end;
  box-sizing: border-box;
  margin-top: -0;        /* avvicina ancora di piÃƒÂ¹ al banner */
}

.btn-add-account {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: #202035;
  color: #3db1ff;
  padding: .6rem 1rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
}
.btn-add-account:hover {
  background: #262646;
}


/* ===== Admin BO6 form ===== */
.admin-form-wrapper{
  max-width:1000px;
  margin:2rem auto;
  padding:2rem;
}

.admin-form-title{
  font-size:2rem;
  margin-bottom:1.5rem;
  text-align:right;   /* pulsante giÃƒÂ  sta a dx, titolo optional */
}

.admin-form{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:.4rem;
}

.form-two{
  display:grid;
  grid-template-columns:1fr 140px;
  gap:1rem;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:1rem;
}

.admin-form input[type="text"],
.admin-form input[type="number"],
.admin-form input[type="file"],
.admin-form select,
.admin-form textarea{
  padding:.65rem .8rem;
  background:#181828;
  border:1px solid #292945;
  color:#fff;
  border-radius:6px;
  font-family:inherit;
}

.admin-form textarea{resize:vertical;}

.btn-save{
  align-self:flex-end;
  background:#3db1ff;
  color:#fff;
  padding:.8rem 2rem;
  border:none;
  border-radius:8px;
  font-size:1rem;
  font-weight:600;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  transition:background .2s;
}
.btn-save:hover{background:#2b8ccc;}

/* Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ Sezione Ã¢â‚¬Å“Aggiungi accountÃ¢â‚¬Â Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
.admin-actions {
  max-width: 1800px;
  margin: 1rem auto 0;
  text-align: right;
  padding: 0 1rem;
}
.btn-add-account {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: #202035;
  color: #3db1ff;
  padding: .6rem 1rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
}
.btn-add-account:hover { background: #262646; }

/* Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ Griglia prodotti Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
.product-grid {
  max-width: 1800px;
  margin: 2rem auto;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

/* Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ Card Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
.product-card {
  position: relative;                 /* Ã°Å¸â€˜Ë† necessario per il link-overlay */
  display: flex;
  flex-direction: column;
  background: #181828;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.5);
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 14px rgba(0,0,0,.6);
}

/* overlay cliccabile su tutta la card (tranne il bottone) */
.card-click{
  position:absolute;
  inset:0;
  z-index:1;
}

/* Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ Intestazione piattaforma Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
.product-header {
  background: #202035;
  padding: .35rem .8rem;
  font-weight: 600;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  gap: .4rem;
}

/* Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ Titolo account Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
.product-subtitle {
  font-size: .9rem;
  font-weight: 600;
  color: #ccc;
  margin: .4rem 1rem 0.6rem;
}

/* Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ Immagine Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
.product-img-wrapper {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.product-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.photo-count {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(0,0,0,.7);
  padding: 2px 8px;
  font-size: .8rem;
  border-radius: 8px;
}

/* Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ Corpo card Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
.product-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1rem;
}

/* tags inline */
.product-tags {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: flex;
  gap: .8rem;
  font-size: .85rem;
  color: #ccc;
}
.product-tags i {
  margin-right: 4px;
  color: #3db1ff;
}

/* footer (prezzo + bottone) */
.product-footer {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.product-price {
  font-size: 1.2rem;
  font-weight: 700;
  color: #3db1ff;
}

/* ---- Bottone Ã¢â‚¬Å“CompraÃ¢â‚¬Â nella griglia ---- */
.btn-buy{
  position:relative;                 /* sopra al link-overlay */
  z-index:2;
  background: #3db1ff;
  color:#fff;
  padding:.4rem .8rem;
  border-radius:6px;
  font-size:.85rem;
  white-space:nowrap;
  border:none;
  cursor:pointer;
  transition:background .2s;
}
.btn-buy i{ margin-left:4px; }
.btn-buy:hover{ background:#3399e6; }

/* ====== DETTAGLIO PRODOTTO ====== */
.product-detail{
  max-width:1200px;
  margin:2rem auto;
  padding:0 1rem;
  display:grid;
  grid-template-columns:2fr 1fr;   /* sx: gallery, dx: checkout */
  gap:2rem;
}

/* ---------- header (icona + titolo + sottotitolo) ---------- */
.detail-header{
  grid-column:1 / 2;               /* resta nella colonna sx */
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.4rem;
  max-width:100%;                  /* non oltre il width della colonna */
  margin-bottom:1.2rem;
}
.detail-header h1{
  font-size:1.8rem;
  margin:0;
  color:#fff;
  line-height:1.3;                 /* tiene il titolo compatto */
}

.detail-subtitle {
  font-size: 1.25rem;
  color: #e0e0e0;
  line-height: 1.6;
  white-space: pre-line;
  font-weight: 500;
}

/* ---------- gallery ---------- */
.detail-gallery{
  grid-column:1 / 2;               /* sempre colonna sx */
  background:#111;
  border-radius:10px;
  padding:1rem;
}
.gallery-main img{width:100%;border-radius:8px;object-fit:cover;}
.gallery-thumbs{
  display:flex;gap:.5rem;margin-top:1rem;overflow-x:auto;
}
.gallery-thumbs img{
  height:70px;border-radius:5px;cursor:pointer;transition:transform .2s;
}
.gallery-thumbs img:hover{transform:scale(1.05);border:2px solid #4cafef;}

/* ---------- box Ã¢â‚¬Å“Checkout VeloceÃ¢â‚¬Â ---------- */
.detail-actions{
  grid-column:2 / 3;               /* colonna destra fissa */
  background:linear-gradient(160deg,#1e1e2f,#151520);
  padding:1.5rem;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.5);
  display:flex;flex-direction:column;gap:1rem;align-self:start;
  border:1px solid rgba(255,255,255,.08);transition:.2s;
}
.detail-actions:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.6);}
.detail-actions h3{font-size:1.2rem;margin:0;color:#fff;display:flex;align-items:center;gap:.5rem;}

.checkout-list{list-style:none;margin:0;padding:0;font-size:.9rem;color:#ccc;display:flex;flex-direction:column;gap:.4rem;}
.checkout-list li{display:flex;align-items:center;gap:.5rem;}
.checkout-list i{color:#3db1ff;min-width:16px;}

.checkout-price{font-size:1.4rem;font-weight:700;color:#3db1ff;margin-top:.5rem;text-align:center;}

.detail-actions .btn-buy{
  background:#3db1ff;font-size:1rem;padding:.9rem;border-radius:8px;font-weight:600;border:none;cursor:pointer;transition:.2s;
}
.detail-actions .btn-buy:hover{background:#3399e6;transform:translateY(-2px);}

/* ---------- descrizione + specs sotto ---------- */
.detail-description{
  grid-column:1 / 2;background:#111;padding:1rem;border-radius:10px;margin-top:2rem;
}
.detail-description h2{font-size:1.4rem;margin-bottom:.5rem;color:#fff;}
.detail-description p{line-height:1.5;color:#ddd;white-space:pre-line;}

.detail-specs{
  grid-column:2 / 3;background:#111;padding:1rem;border-radius:10px;margin-top:2rem;
}
.detail-specs h2{font-size:1.4rem;margin-bottom:.8rem;color:#fff;}
.detail-specs ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem;}
.detail-specs li{background:#1a1a2e;padding:.6rem .8rem;border-radius:6px;color:#ccc;}
.detail-specs li strong{color:#fff;}

/* ---------- account correlati ---------- */
.related-accounts{grid-column:1 / -1;margin-top:3rem;}
.related-accounts h2{font-size:1.4rem;margin-bottom:1rem;color:#fff;display:flex;align-items:center;gap:.5rem;}
.related-carousel{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;}
.related-carousel::-webkit-scrollbar{height:8px;}
.related-carousel::-webkit-scrollbar-thumb{background:#333;border-radius:4px;}
.related-carousel .product-card{flex:0 0 280px;scroll-snap-align:start;}


