:root{
  --black:#0a0a0a;
  --white:#ffffff;
  --grey-1:#f4f4f4;
  --grey-2:#e2e2e2;
  --grey-3:#9a9a9a;
  --success:#2ecc71;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{font-size:16px;overflow-x:hidden;}

body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  background:
    repeating-linear-gradient(115deg,
      rgba(0,0,0,0.015) 0px, rgba(0,0,0,0.015) 1px,
      transparent 1px, transparent 140px),
    repeating-linear-gradient(25deg,
      rgba(0,0,0,0.012) 0px, rgba(0,0,0,0.012) 1px,
      transparent 1px, transparent 220px),
    var(--white);
  color:var(--black);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* ===== LOADER ===== */
#loader{
  position:fixed;inset:0;
  background:var(--white);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:20px;
  z-index:9999;
  transition:opacity .4s ease, visibility .4s ease;
}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.loader-logo{font-size:22px;font-weight:700;letter-spacing:2px;}
.loader-logo span{color:var(--grey-3);font-weight:300;}
.loader-bar{width:160px;height:3px;background:var(--grey-2);border-radius:99px;overflow:hidden;}
.loader-bar-fill{
  width:40%;height:100%;background:var(--black);
  animation:loaderMove 1.1s ease-in-out infinite;
}
@keyframes loaderMove{
  0%{transform:translateX(-100%);}
  100%{transform:translateX(250%);}
}

/* ===== HEADER / NAV ===== */
.site-header{
  position:sticky;top:0;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--grey-2);
  z-index:100;
}
.navbar{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;
}
.logo{font-size:19px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;}
.logo span{color:var(--grey-3);font-weight:300;}

/* Desktop: nav orizzontale visibile */
.nav-links{display:none;align-items:center;gap:28px;font-size:14px;}
.nav-links a{opacity:0.75;transition:opacity .2s;}
.nav-links a:hover{opacity:1;}
.nav-cta{
  border:1px solid var(--black);padding:9px 18px;
  border-radius:999px;letter-spacing:0.3px;
}
.nav-cta:hover{background:var(--black);color:#0d0d0d;}

@media (min-width:768px){
  .nav-links{display:flex;}
  .dock-nav-public{display:none !important;}
  .dock-sticky-wrapper{display:none !important;}
}

/* ===== HERO ===== */
.hero{max-width:1200px;margin:0 auto;padding:60px 20px 40px;text-align:center;}
.hero-eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--grey-3);margin-bottom:16px;}
.hero h1{font-size:clamp(30px,7vw,58px);font-weight:600;letter-spacing:-1px;line-height:1.08;margin-bottom:18px;}
.hero h1 em{font-style:normal;color:var(--grey-3);}
.hero > p{max-width:520px;margin:0 auto 32px;font-size:15px;color:#444;}

/* ===== ZONE PILLS ===== */
.zone-pills{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
  max-width:700px;margin:22px auto 0;
}
.pill{
  font-size:13px;padding:7px 16px;
  border:1px solid var(--grey-2);border-radius:999px;
  color:#555;
}
.pill.active{background:var(--black);color:var(--white);border-color:var(--black);}

/* ===== HOW IT WORKS ===== */
.how-it-works{max-width:1200px;margin:70px auto 0;padding:0 20px;}
.steps{display:flex;flex-direction:column;gap:24px;margin-top:24px;}
.step{border-top:1px solid var(--grey-2);padding-top:16px;}
.step-num{font-size:12px;color:var(--grey-3);letter-spacing:1px;}
.step h3{font-size:18px;margin:6px 0;}
.step p{font-size:14px;color:#555;}

/* ===== SECTION HEAD ===== */
.section-head{
  max-width:1200px;margin:60px auto 20px;padding:0 20px;
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
}
.section-head h2{font-size:22px;font-weight:600;letter-spacing:-0.5px;}
.section-head span{font-size:13px;color:var(--grey-3);white-space:nowrap;}

/* ===== GRID / CARDS ===== */
.grid{
  max-width:1200px;margin:0 auto;padding:0 20px 80px;
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
}
.grid .card{
  width:calc(50% - 7px);flex-shrink:0;
}
.card{
  border:1px solid var(--grey-2);border-radius:14px;overflow:hidden;
  background:var(--white);display:block;
}
.card-photo{
  aspect-ratio:3/4;background:linear-gradient(160deg,var(--grey-2),var(--grey-1));
  background-size:cover;background-position:center;position:relative;
}
.card-badge{
  position:absolute;top:10px;left:10px;background:var(--black);color:var(--white);
  font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:4px 9px;border-radius:999px;
}
.card-verified{
  position:absolute;top:10px;right:10px;
  width:22px;height:22px;border-radius:50%;
  background:var(--success);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;
}
.card-body{padding:14px;}
.card-body h3{font-size:16px;font-weight:600;margin-bottom:2px;}
.card-body .loc{font-size:13px;color:var(--grey-3);}
.tags{display:flex;gap:6px;flex-wrap:wrap;}
.tag{font-size:11px;color:#555;border:1px solid var(--grey-2);padding:3px 9px;border-radius:999px;}

.empty-state{grid-column:1/-1;text-align:center;color:var(--grey-3);padding:40px 0;}

/* ===== FOOTER ===== */
.site-footer{border-top:1px solid var(--grey-2);padding:50px 20px 20px;}
.footer-inner{
  max-width:1200px;margin:0 auto;
  display:flex;flex-direction:column;gap:30px;
}
@media (min-width:768px){
  .footer-inner{flex-direction:row;justify-content:space-between;gap:40px;}
  .footer-col{flex:1;}
}
.footer-col h4{font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;color:var(--grey-3);}
.footer-col a{display:block;font-size:14px;margin-bottom:8px;color:#333;}
.footer-col p{font-size:13px;color:var(--grey-3);margin-top:8px;}
.footer-bottom{
  max-width:1200px;margin:30px auto 0;padding-top:20px;border-top:1px solid var(--grey-2);
  font-size:12px;color:var(--grey-3);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
}
.admin-link{color:var(--black);text-decoration:underline;}
/* ===== SEARCH BAR ===== */
.search-bar{
  max-width:520px;margin:0 auto;
  display:flex;gap:8px;
  background:var(--grey-1);
  border:1px solid var(--grey-2);
  border-radius:16px;
  padding:8px;
}
.search-bar select{
  flex:1;
  border:none;background:transparent;
  font-size:15px;padding:10px 14px;
  outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;
  font-family:inherit;color:var(--black);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239a9a9a'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  cursor:pointer;
}
.search-bar button{
  background:var(--black);color:var(--white);
  border:none;border-radius:12px;
  padding:10px 22px;font-size:14px;font-weight:600;
  letter-spacing:0.3px;cursor:pointer;
  transition:opacity .2s;
}
.search-bar button:hover{opacity:0.82;}
.search-bar button:focus-visible,
.search-bar select:focus-visible{outline:2px solid var(--black);outline-offset:2px;}

/* ===== BUTTONS (generici, per pagine future: login/registrazione/admin) ===== */
.btn{
  display:inline-block;
  border-radius:10px;
  padding:11px 22px;
  font-size:14px;font-weight:600;
  border:1px solid var(--black);
  cursor:pointer;
  transition:all .2s;
}
.btn-primary{background:var(--black);color:var(--white);}
.btn-primary:hover{opacity:0.85;}
.btn-secondary{background:transparent;color:var(--black);}
.btn-secondary:hover{background:var(--black);color:var(--white);}
.btn:focus-visible{outline:2px solid var(--black);outline-offset:2px;}

/* ===== HAMBURGER MENU (pubblico) — sostituito dal dock mobile, tenuto solo per compatibilità ===== */
.nav-toggle{display:none;}

/* Stati hover/active/focus link nav */
.nav-links a:focus-visible,
.pill:focus-visible,
.card:focus-visible{outline:2px solid var(--black);outline-offset:2px;}

.pill{transition:background .2s, color .2s;}
.pill:hover{background:var(--black);color:var(--white);border-color:var(--black);}

.card{transition:transform .2s, box-shadow .2s;}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,0.08);}
/* ===== MOBILE-FIRST: base styles = mobile (<480px) già in style.css/components.css ===== */
body{padding-bottom:88px;}
@media (min-width:768px){body{padding-bottom:0;}}

/* ===== 480px — mobile grande ===== */
@media (min-width:480px){
  .grid .card{width:calc(33.333% - 10px);}
}

/* ===== 768px — tablet ===== */
@media (min-width:768px){
  .search-bar{flex-direction:row;}
  .steps{flex-direction:row;}
  .step{flex:1;}
  .grid .card{width:calc(33.333% - 10px);}
}

/* ===== 1024px — desktop ===== */
@media (min-width:1024px){
  .grid .card{width:calc(25% - 11px);}
  .hero{padding:100px 24px 60px;}
}

/* ===== 1440px — desktop grande ===== */
@media (min-width:1440px){
  .grid .card{width:calc(20% - 12px);}
}
.form-page{max-width:640px;margin:0 auto;padding:50px 20px 100px;}
.form-page-head{margin-bottom:30px;}
.form-page-head h1{font-size:clamp(26px,5vw,36px);font-weight:600;letter-spacing:-0.5px;margin-bottom:10px;}
.form-page-head p{font-size:14px;color:#555;}

.form-card{
  border:1px solid var(--grey-2);
  border-radius:16px;
  padding:16px;
  display:flex;flex-direction:column;gap:18px;
}
@media (min-width:768px){
  .form-card{padding:24px;gap:26px;}
}

.form-card + .form-card{margin-top:16px;}
@media (min-width:768px){
  .form-card + .form-card{margin-top:24px;}
}

.form-section h2{
  font-size:13px;text-transform:uppercase;letter-spacing:1px;
  color:var(--grey-3);margin-bottom:14px;
  border-bottom:1px solid var(--grey-2);padding-bottom:10px;
}

.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.form-group:last-child{margin-bottom:0;}
.form-row{display:flex;flex-direction:column;gap:16px;}

.form-group label{font-size:13px;font-weight:600;}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="password"],
.form-group input[type="number"],
.form-group input[type="file"],
.form-group select,
.form-group textarea{
  border:1.5px solid var(--grey-2);
  border-radius:12px;
  padding:12px 16px;
  font-size:15px;
  font-family:inherit;
  background:var(--white);
  color:var(--black);
  outline:none;
  transition:border-color .2s, box-shadow .2s;
  width:100%;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:#b8934a;
  box-shadow:0 0 0 3px rgba(184,147,74,0.12);
}

.form-group select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239a9a9a'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}

.field-hint{font-size:12px;color:var(--grey-3);}

/* Checkbox custom */
.form-checkbox{flex-direction:row;align-items:flex-start;gap:10px;}
.form-checkbox input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;
  width:18px;height:18px;min-width:18px;
  border:1px solid var(--grey-2);border-radius:5px;
  position:relative;cursor:pointer;margin-top:2px;
}
.form-checkbox input[type="checkbox"]:checked{background:#b8934a;border-color:#b8934a;}
.form-checkbox input[type="checkbox"]:checked::after{
  content:'';position:absolute;left:5px;top:1px;
  width:5px;height:9px;border:solid var(--white);
  border-width:0 2px 2px 0;transform:rotate(45deg);
}
.form-checkbox label{font-size:13px;font-weight:400;color:#444;}
.form-checkbox label a{text-decoration:underline;}

.btn-block{width:100%;text-align:center;}

/* Alert */
.alert{border-radius:10px;padding:16px 18px;margin-bottom:20px;font-size:14px;}
.alert-error{background:#fdecec;border:1px solid #f3b8b8;color:#8a2b2b;}
.alert-error ul{margin:0;padding-left:18px;}
.alert-success{background:#eafaf0;border:1px solid #b7e8c9;color:#1e7a44;}

@media (min-width:768px){
  .form-row{flex-direction:row;}
  .form-row .form-group{flex:1;}
}

/* ===== LOGIN / FORM NARROW ===== */
.form-page-narrow{max-width:420px;}
.form-footnote{font-size:13px;color:var(--grey-3);text-align:center;margin-top:4px;}
.form-footnote a{text-decoration:underline;color:var(--black);}

/* ===== ADMIN LAYOUT ===== */
.admin-body{background:var(--grey-1);}
/* ===== DOCK DI NAVIGAZIONE FLOTTANTE (Admin/Creator) ===== */
/* Header pannello Admin/Creator — bianco con logo */
.panel-topbar{
  background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--grey-2);
  padding:12px 20px;display:flex;align-items:center;
  position:sticky;top:0;z-index:100;
}
.panel-topbar .logo-img img{height:44px;}

.dock-main{
  max-width:1100px;margin:0 auto;
  padding:24px 20px 100px;
}
@media (min-width:768px){
  .dock-main{padding:36px 40px 100px;}
}

/* Il dock nel pannello Admin/Creator: fisso in basso, sempre visibile */
.dock-main > .dock-nav{
  position:fixed;bottom:28px;left:50%;transform:translateX(-50%);
  z-index:9999;
}

.dock-sticky-wrapper{
  position:fixed;bottom:28px;left:0;right:0;
  z-index:9999;
  display:flex;justify-content:center;
  pointer-events:none;
}

/* Dock nav separazione visiva dalla mappa */
.dock-sticky-wrapper .dock-nav,
.dock-main > .dock-nav{
  box-shadow:0 -4px 20px rgba(0,0,0,0.3), 0 12px 40px rgba(0,0,0,0.4);
}
.dock-sticky-wrapper .dock-nav{
  pointer-events:all;
  position:static;transform:none;
}

.dock-nav{
  display:flex;align-items:center;gap:4px;
  background:rgba(10,10,15,0.88);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.1);border-radius:999px;
  padding:6px;box-shadow:0 12px 40px rgba(0,0,0,0.4);
  max-width:94vw;overflow-x:auto;
  scrollbar-width:none;-ms-overflow-style:none;
}
.dock-nav::-webkit-scrollbar{display:none;}

/* ===== DOCK ITEMS ===== */
.dock-item{
  position:relative;flex-shrink:0;
  width:44px;height:44px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  color:rgba(255,255,255,0.65);
  transition:background .2s ease,color .2s ease,width .3s cubic-bezier(.34,1.56,.64,1),
             padding .3s cubic-bezier(.34,1.56,.64,1),transform .2s ease;
  overflow:hidden;white-space:nowrap;
  transform-origin:center bottom;
}
/* Rimpicciolisce tutti quando si hovered il dock */
.dock-nav:hover .dock-item{transform:scale(0.88);}
/* Quello hoverato si ingrandisce E mostra il testo */
.dock-nav:hover .dock-item:hover{
  transform:scale(1);
  width:auto;padding:0 18px 0 14px;
  background:rgba(255,255,255,0.12);color:var(--white);
}
.dock-item-active{
  width:auto;padding:0 18px 0 14px;border-radius:999px;
  background:linear-gradient(135deg,#b8934a,#8a6b2e);color:#fff;
}
.dock-nav:hover .dock-item-active{transform:scale(0.88);}
.dock-nav:hover .dock-item-active:hover{transform:scale(1);}
.dock-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dock-icon-svg{width:20px;height:20px;}
.dock-label{display:none;font-size:13px;font-weight:600;}
.dock-item-active .dock-label{display:inline-block;}
/* Mostra il testo anche al hover */
.dock-nav:hover .dock-item:hover .dock-label{display:inline-block;}

.dock-badge{
  position:absolute;top:0;right:4px;background:#b33a3a;color:#fff;
  font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
  border:2px solid rgba(10,10,15,0.88);
}
.dock-item-active .dock-badge{border-color:#8a6b2e;}

@media (max-width:768px){
  .dock-main{padding:20px 16px 110px;}
}

.admin-page-head{margin-bottom:28px;}
.admin-page-head h1{font-size:26px;font-weight:600;letter-spacing:-0.5px;margin-bottom:6px;}
.admin-page-head p{font-size:14px;color:#555;}
.admin-section-title{font-size:16px;font-weight:600;margin-bottom:14px;}

/* Stat cards */
.stat-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;margin-bottom:20px;
}
.stat-card{
  background:var(--white);border:1px solid var(--grey-2);border-radius:14px;
  padding:20px;display:flex;flex-direction:column;gap:6px;
}
.stat-label{font-size:12px;color:var(--grey-3);text-transform:uppercase;letter-spacing:0.5px;}
.stat-value{font-size:30px;font-weight:700;letter-spacing:-1px;}
.stat-link{font-size:12px;text-decoration:underline;margin-top:4px;}

/* Review cards (verifiche + assistenza) */
.review-list{display:flex;flex-direction:column;gap:14px;}
.review-card{
  background:var(--white);border:1px solid var(--grey-2);border-radius:14px;
  padding:20px;display:flex;flex-direction:column;gap:16px;
}
.review-card-main h3{font-size:17px;margin-bottom:6px;}
.review-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--grey-3);margin-bottom:10px;}
.review-text{font-size:14px;color:#444;margin-bottom:6px;line-height:1.5;}
.doc-link{font-size:13px;font-weight:600;text-decoration:underline;display:inline-block;margin-top:6px;}
.doc-missing{font-size:13px;color:var(--grey-3);font-style:italic;}

.review-card-actions{display:flex;gap:10px;}
.btn-approve{background:#1e7a44;border-color:#1e7a44;color:var(--white);}
.btn-approve:hover{opacity:0.85;}
.btn-reject{background:transparent;border:1px solid #b33a3a;color:#b33a3a;}
.btn-reject:hover{background:#b33a3a;color:var(--white);}
.btn-small{padding:8px 16px;font-size:13px;}

.empty-state-inline{color:var(--grey-3);font-size:14px;padding:20px 0;}

/* Tabs */
.tab-switch{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--grey-2);}
.tab-switch a{padding:10px 16px;font-size:14px;color:var(--grey-3);border-bottom:2px solid transparent;}
.tab-switch a.active{color:#b8934a;border-color:#b8934a;font-weight:600;}

/* Read-only admin table (guadagni) */
.admin-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--grey-2);border-radius:14px;overflow:hidden;}
.admin-table th, .admin-table td{padding:12px 16px;text-align:left;font-size:14px;border-bottom:1px solid var(--grey-2);}
.admin-table th{font-size:12px;text-transform:uppercase;letter-spacing:0.5px;color:var(--grey-3);background:var(--grey-1);}
.admin-table tr:last-child td{border-bottom:none;}

/* Editable rows (pacchetti) */
.edit-rows{background:var(--white);border:1px solid var(--grey-2);border-radius:14px;overflow:hidden;}
.edit-rows-head{
  display:grid;grid-template-columns:1fr 1fr 80px;gap:12px;
  padding:10px 16px;background:var(--grey-1);
  font-size:12px;text-transform:uppercase;letter-spacing:0.5px;color:var(--grey-3);
}
.edit-rows-4col .edit-rows-head{grid-template-columns:1fr 1fr 1fr 80px;}
.edit-row{
  display:grid;grid-template-columns:1fr 1fr 80px;gap:12px;align-items:center;
  padding:10px 16px;border-top:1px solid var(--grey-2);
}
.edit-row-4col{grid-template-columns:1fr 1fr 1fr 80px;}
.edit-row input{
  border:1px solid var(--grey-2);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit;
}

@media (max-width:768px){
  .admin-main{padding:20px 16px;}
  .edit-rows-head{display:none;}
  .edit-row, .edit-row-4col{grid-template-columns:1fr;}

  /* Riduzione generale di titoli, testo e spaziature su mobile */
  .admin-page-head h1{font-size:20px;}
  .admin-page-head p{font-size:13px;}
  .admin-section-title{font-size:15px;}

  .stat-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .stat-card{padding:14px;}
  .stat-value{font-size:22px;}
  .stat-label{font-size:11px;}

  .form-card, .package-select-card, .review-card{padding:16px;}
  .form-section h2{font-size:15px;}

  /* Tabella profili — scroll orizzontale */
  .profili-table-wrap{overflow-x:hidden;}
  .profili-table{font-size:12px;width:100%;}
  .profili-table th{padding:6px 6px;}
  .profili-table td{padding:7px 6px;}
  .profili-filtri{gap:8px;}
  .profili-search{width:100%;}
  .profili-filtri select,.profili-filtri .btn{font-size:13px;padding:8px 10px;}

  /* Profili: mostra solo Creator + Stato + Azioni, nascondi il resto */
  .profili-table th:nth-child(2),.profili-table td:nth-child(2),
  .profili-table th:nth-child(3),.profili-table td:nth-child(3),
  .profili-table th:nth-child(4),.profili-table td:nth-child(4){display:none;}

  /* Creator cell compact */
  .profili-avatar{width:28px;height:28px;}
  .profili-name{font-size:12px;}
  .profili-email,.profili-link{display:none;}
  .profili-creator{gap:6px;}

  /* Azioni compatte */
  .profili-actions{gap:4px;}
  .profili-btn{padding:4px 8px;font-size:11px;}

  /* Guadagni: nascondi colonne secondarie */
  .col-hide-mobile{display:none !important;}

  /* Verifiche card */
  .verifica-head{flex-direction:column;gap:10px;}
  .verifica-azioni-top{margin-left:0;width:100%;}
  .verifica-azioni-top form,.verifica-azioni-top button{flex:1;text-align:center;}
  .verifica-details{grid-template-columns:1fr 1fr;}
  .verifica-docs{flex-wrap:wrap;gap:6px;}
  .verifica-doc-btn,.verifica-doc-missing{flex:1;justify-content:center;padding:8px 6px;font-size:12px;}

  /* Carosello pacchetti mobile */
  .pkg-slider-wrap{position:relative;padding:0 20px;}
  .pkg-slider{
    display:flex;overflow-x:scroll;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .pkg-slider::-webkit-scrollbar{display:none;}
  .pkg-slider .package-select-grid{
    display:flex;flex-direction:row;gap:0;
  }
  .pkg-slider .package-select-card{
    flex:0 0 280px;scroll-snap-align:start;
    margin-right:10px;
  }
  .pkg-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:28px;height:28px;border-radius:50%;
    background:rgba(10,10,15,0.65);color:#fff;border:none;
    font-size:18px;cursor:pointer;z-index:10;
    display:flex;align-items:center;justify-content:center;
  }
  .pkg-arrow-prev{left:0;}
  .pkg-arrow-next{right:0;}
  .pkg-dots{display:flex;justify-content:center;gap:6px;margin-top:10px;}
  .pkg-dot{width:7px;height:7px;border-radius:50%;background:var(--grey-2);cursor:pointer;transition:background .2s;}
  .pkg-dot.active{background:#b8934a;}
  .package-select-head h3{font-size:16px;}
  .package-card-credits{font-size:26px;}

  /* Selezione pacchetto (Gold/Silver/ecc.): ulteriormente più compatta */
  .package-select-card{gap:10px;padding:12px;}
  .package-select-desc{font-size:11px;line-height:1.4;}
  .package-photo-limit{font-size:10.5px;}
  .review-tag{font-size:9px;padding:3px 7px;}
  .duration-options{gap:6px;}
  .duration-option{
    flex-wrap:wrap;padding:8px 10px;font-size:11.5px;gap:4px 8px;
  }
  .duration-days{min-width:0;flex:0 0 auto;}
  .duration-price{font-size:11.5px;}
  .duration-discount{margin-left:auto;font-size:9.5px;padding:2px 6px;}
  .package-select-form .field-hint{font-size:10.5px;line-height:1.4;}
  .package-select-form .btn{padding:9px 12px;font-size:12px;}
  .package-select-head h3{font-size:14px;}

  .balance-box{padding:16px 18px;max-width:100%;}

  .review-card-main h3{font-size:15px;}
  .review-meta{font-size:11px;}
  .review-text{font-size:13px;}

  .btn{padding:10px 18px;font-size:13.5px;}
  .btn-block{padding:12px 18px;}

  .admin-table th, .admin-table td{padding:9px 10px;font-size:13px;}

  .chat-box{height:60vh;}
  .chat-bubble{max-width:82%;font-size:13px;}
}

/* ===== CREATOR PROFILE ===== */
.profile-status-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.badge{
  font-size:12px;font-weight:600;padding:6px 14px;border-radius:999px;
  display:inline-flex;align-items:center;gap:5px;
}
.badge-verified{background:#eafaf0;color:#1e7a44;}
.badge-package{background:var(--black);color:var(--white);}
.badge-premium{background:#fff4dd;color:#8a6116;}
.badge-muted{background:var(--grey-1);color:var(--grey-3);border:1px solid var(--grey-2);}

.photo-upload-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.photo-preview{
  width:96px;height:96px;border-radius:16px;
  background-color:var(--grey-1);background-size:cover;background-position:center;
  border:1px solid var(--grey-2);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;color:var(--grey-3);text-align:center;flex-shrink:0;
}
.photo-upload-row .form-group{flex:1;min-width:200px;margin-bottom:0;}

/* ===== ALERT INFO ===== */
.alert-info{background:var(--grey-1);border:1px solid var(--grey-2);color:#333;}

/* ===== BALANCE BOX ===== */
.balance-box{
  background:var(--black);color:var(--white);
  border-radius:14px;padding:22px 24px;
  display:flex;flex-direction:column;gap:4px;
  margin-bottom:28px;max-width:280px;
}
.balance-box .stat-label{color:rgba(255,255,255,0.6);}
.balance-box .stat-value{color:var(--white);}

/* ===== PACKAGE GRID (negozio crediti + pacchetti) ===== */
.package-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;
}
.package-card{
  background:var(--white);border:1px solid var(--grey-2);border-radius:14px;
  padding:22px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center;
}
.package-card-credits{font-size:32px;font-weight:700;letter-spacing:-1px;}
.package-card-label{font-size:12px;color:var(--grey-3);text-transform:uppercase;margin-bottom:6px;}
.package-card-price{font-size:18px;font-weight:600;}
.package-card-savings{font-size:12px;color:#1e7a44;background:#eafaf0;padding:3px 10px;border-radius:999px;margin-bottom:6px;}
.package-card-name{font-size:18px;font-weight:700;}
.package-card-cost{font-size:22px;font-weight:700;margin-top:4px;}
.package-card-note{font-size:11px;color:var(--grey-3);margin-bottom:10px;}
.package-card .form-group{width:100%;margin-bottom:10px;text-align:left;}
.package-card button{margin-top:auto;}

/* ===== CHAT (assistenza) ===== */
.chat-box{
  background:var(--white);border:1px solid var(--grey-2);border-radius:14px;
  display:flex;flex-direction:column;height:520px;overflow:hidden;
}
.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;}
.chat-bubble{max-width:70%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.4;}
.chat-bubble-me{align-self:flex-end;background:var(--black);color:var(--white);border-bottom-right-radius:4px;}
.chat-bubble-other{align-self:flex-start;background:var(--grey-1);color:var(--black);border-bottom-left-radius:4px;}
.chat-bubble-time{font-size:10px;opacity:0.6;margin-top:4px;}

.chat-input-row{display:flex;gap:10px;padding:14px;border-top:1px solid var(--grey-2);}
.chat-input-row textarea{
  flex:1;border:1px solid var(--grey-2);border-radius:10px;padding:10px 12px;
  font-family:inherit;font-size:14px;resize:none;outline:none;
}
.chat-input-row textarea:focus{border-color:var(--black);}
.chat-input-row button{align-self:flex-end;}

/* ===== CONVERSATION LIST (admin assistenza) ===== */
.conversation-list{display:flex;flex-direction:column;gap:1px;background:var(--grey-2);border:1px solid var(--grey-2);border-radius:14px;overflow:hidden;}
.conversation-row{
  background:var(--white);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.conversation-row:hover{background:var(--grey-1);}
.conversation-main h3{font-size:15px;display:flex;align-items:center;gap:8px;}
.conversation-preview{font-size:13px;color:var(--grey-3);margin-top:2px;}
.conversation-time{font-size:12px;color:var(--grey-3);white-space:nowrap;}
.chat-badge{
  background:#e74c3c;color:var(--white);font-size:11px;font-weight:700;
  min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;
}
.back-link{font-size:13px;color:var(--grey-3);display:inline-block;margin-bottom:10px;}

@media (max-width:768px){
  .package-grid{grid-template-columns:repeat(2,1fr);}
  .chat-box{height:70vh;}
}

/* ===== PUBLIC PROFILE VIEW ===== */
.profile-view{
  max-width:900px;margin:40px auto 0;padding:0 20px;
  display:flex;flex-direction:column;gap:24px;
}
.profile-view-photo{
  width:100%;aspect-ratio:4/3;border-radius:16px;
  background-color:var(--grey-1);background-size:cover;background-position:center;
  border:1px solid var(--grey-2);
  display:flex;align-items:center;justify-content:center;
  color:var(--grey-3);font-size:14px;
}
.profile-view-info h1{font-size:clamp(24px,5vw,34px);font-weight:600;margin:14px 0 4px;letter-spacing:-0.5px;}
.profile-view-zone{font-size:14px;color:var(--grey-3);margin-bottom:8px;}
.profile-rating{font-size:14px;color:#c9922a;margin-bottom:16px;font-weight:600;}

.profile-block{margin-bottom:20px;}
.profile-block h3{font-size:13px;text-transform:uppercase;letter-spacing:0.5px;color:var(--grey-3);margin-bottom:8px;}
.profile-block p{font-size:15px;line-height:1.6;color:#333;}

.reviews-section{max-width:900px;margin:50px auto 100px;padding:0 20px;}
.reviews-section h2{font-size:20px;font-weight:600;margin-bottom:16px;}
.reviews-list{display:flex;flex-direction:column;gap:14px;}
.review-item{border:1px solid var(--grey-2);border-radius:12px;padding:16px 18px;}
.review-item-rating{color:#c9922a;font-size:14px;margin-bottom:6px;}
.review-item-comment{font-size:14px;color:#444;margin-bottom:8px;line-height:1.5;}
.review-item-date{font-size:12px;color:var(--grey-3);}

@media (min-width:768px){
  .profile-view{flex-direction:row;align-items:flex-start;}
  .profile-view-photo{width:340px;flex-shrink:0;aspect-ratio:3/4;}
  .profile-view-info{flex:1;}
}

/* ===== IMG TAGS INSIDE PHOTO CONTAINERS (sostituiscono i CSS background-image) ===== */
.card-photo, .profile-view-photo, .photo-preview{
  position:relative;overflow:hidden;
}
.photo-bg{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  filter:blur(25px) brightness(0.85) saturate(120%);
  transform:scale(1.3);
}
.photo-fg{
  position:relative;z-index:1;
  width:100%;height:100%;
  object-fit:contain;
  display:block;
}
.card-photo-placeholder{
  position:absolute;inset:0;
  background:linear-gradient(160deg,var(--grey-2),var(--grey-1));
}
.card-photo-placeholder::after{
  content:'';position:absolute;top:50%;left:50%;
  width:64px;height:64px;transform:translate(-50%,-50%);
  border-radius:50%;border:2px solid var(--grey-3);opacity:0.4;
}


/* =====================================================
   LIQUID GLASS DESIGN SYSTEM v2
   Macchie di colore sfocate come sfondo: senza qualcosa
   di colorato dietro, il backdrop-filter non produce
   nessun effetto visibile su una pagina bianca piatta.
   ===================================================== */

body{position:relative;}
body::before, body::after{
  content:'';
  position:fixed;
  border-radius:50%;
  filter:blur(80px);
  z-index:-1;
  pointer-events:none;
}
body::before{
  top:-10%;left:-10%;width:50vw;height:50vw;max-width:600px;max-height:600px;
  background:radial-gradient(circle, rgba(200,196,188,0.7), rgba(200,196,188,0) 70%);
}
body::after{
  bottom:-15%;right:-10%;width:55vw;height:55vw;max-width:650px;max-height:650px;
  background:radial-gradient(circle, rgba(175,180,185,0.65), rgba(175,180,185,0) 70%);
}
.admin-body::before, .admin-body::after{
  content:'';position:fixed;border-radius:50%;filter:blur(90px);z-index:-1;pointer-events:none;
}
.admin-body::before{
  top:-15%;left:20%;width:45vw;height:45vw;max-width:550px;max-height:550px;
  background:radial-gradient(circle, rgba(200,196,188,0.45), rgba(200,196,188,0) 70%);
}
.admin-body::after{
  bottom:-15%;right:5%;width:45vw;height:45vw;max-width:550px;max-height:550px;
  background:radial-gradient(circle, rgba(175,180,185,0.4), rgba(175,180,185,0) 70%);
}

/* Un terzo colore, centrale, solo su schermi larghi per non affollare mobile */
@media (min-width:1024px){
  body{background-color:var(--white);}
  .hero::before{
    content:'';position:fixed;top:20%;left:50%;transform:translateX(-50%);
    width:40vw;height:40vw;max-width:500px;max-height:500px;border-radius:50%;
    filter:blur(100px);z-index:-1;pointer-events:none;
    background:radial-gradient(circle, rgba(184,147,74,0.35), rgba(184,147,74,0) 70%);
  }
}

/* Superfici vetro: card, form, stat, pacchetti, recensioni, chat, badge, pill, tabelle */
.card,
.form-card,
.stat-card,
.package-card,
.review-card,
.review-item,
.chat-box,
.conversation-row,
.edit-rows,
.admin-table,
.profile-block,
.zone-pills .pill,
.search-bar,
.badge-verified,
.badge-premium,
.badge-muted{
  background:rgba(255,255,255,0.28);
  backdrop-filter:blur(28px) saturate(220%);
  -webkit-backdrop-filter:blur(28px) saturate(220%);
  border:1px solid rgba(255,255,255,0.8);
  box-shadow:0 12px 40px rgba(31,38,135,0.18), inset 0 1px 0 rgba(255,255,255,0.8);
}

.zone-pills .pill{background:rgba(255,255,255,0.3);}
.zone-pills .pill.active, .pill.active{
  background:linear-gradient(135deg, #b8934a, #8a6b2e);
  backdrop-filter:blur(20px);
  border-color:rgba(184,147,74,0.6);
  box-shadow:0 4px 16px rgba(184,147,74,0.3), inset 0 1px 0 rgba(255,255,255,0.15);
}

/* Header nav: vetro più leggero, resta sticky sopra al contenuto */
/* Dock di navigazione Admin/Creator: vetro scuro */
.dock-nav{
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
}

/* Bottoni primari: azzurro accento */
.btn-primary, .nav-cta, .search-bar button{
  background:linear-gradient(135deg, #b8934a, #8a6b2e);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2), 0 6px 18px rgba(184,147,74,0.3);
  border:1px solid rgba(255,255,255,0.15);
  color:var(--white);
}
.btn-primary:hover, .search-bar button:hover, .nav-cta:hover{opacity:0.88;}

.btn-secondary{
  background:rgba(255,255,255,0.4);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(0,0,0,0.15);
}

/* Badge: vetro colorato coerente per ognuno */
.badge-package{
  background:linear-gradient(135deg, #b8934a, #8a6b2e);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);
  color:var(--white);
}
.badge-verified{color:#1e7a44;}
.badge-premium{color:#8a6116;}
.badge-muted{color:var(--grey-3);}

/* Balance box (negozio crediti): vetro scuro con riflesso */
.balance-box{
  background:rgba(10,10,10,0.65);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  box-shadow:0 12px 40px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.12);
}

/* Loader: vetro anche sulla schermata di caricamento */
#loader{
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
}

/* Chat bubbles: vetro sottile per i messaggi */
.chat-bubble-other{
  background:rgba(255,255,255,0.65);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.6);
}
.chat-bubble-me{
  background:linear-gradient(135deg, #b8934a, #8a6b2e);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.08);
}

/* Cornice vetro anche sulle foto: bordo sfumato + leggera ombra per non sembrare piatte */
.card-photo, .profile-view-photo, .photo-preview{
  border:1px solid rgba(255,255,255,0.6);
  box-shadow:0 8px 24px rgba(31,38,135,0.12);
}

/* Fallback per browser senza supporto backdrop-filter */
@supports not (backdrop-filter: blur(1px)) {
  .card, .form-card, .stat-card, .package-card, .review-card, .review-item,
  .chat-box, .conversation-row, .edit-rows, .admin-table, .profile-block,
  .site-header, .dock-nav, .balance-box, .search-bar, .zone-pills .pill,
  .badge-verified, .badge-premium, .badge-muted{
    background:var(--white);
  }
  .dock-nav, .balance-box, .chat-bubble-me, .btn-primary, .nav-cta{background:var(--black);}
  body::before, body::after, .admin-body::before, .admin-body::after, .hero::before{display:none;}
}

/* ===== CUSTOM CITY SELECT (combobox con ricerca) ===== */
.city-select{position:relative;flex:1;}
.search-bar .city-select{min-width:0;}

.city-select-button{
  width:100%;text-align:left;
  background:transparent;border:none;
  font-size:15px;font-family:inherit;color:var(--black);
  padding:10px 30px 10px 14px;
  cursor:pointer;position:relative;
  border-radius:12px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.city-select-button::after{
  content:'';position:absolute;right:12px;top:50%;
  width:8px;height:8px;
  border-right:2px solid var(--grey-3);border-bottom:2px solid var(--grey-3);
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none;
}
.city-select.open .city-select-button::after{transform:translateY(-30%) rotate(-135deg);}
.city-select-button:hover{background:rgba(0,0,0,0.04);}

.form-group .city-select-button{
  border:1px solid var(--grey-2);background:var(--white);padding:11px 30px 11px 14px;
}

.city-select-panel{
  position:fixed;
  width:min(340px,90vw);max-height:360px;
  background:rgba(255,255,255,0.35);
  backdrop-filter:blur(32px) saturate(220%);
  -webkit-backdrop-filter:blur(32px) saturate(220%);
  border:1px solid rgba(255,255,255,0.8);
  border-radius:16px;
  box-shadow:0 20px 50px rgba(31,38,135,0.25);
  z-index:1000;
  display:flex;flex-direction:column;
  overflow:hidden;
}
.city-select-panel[hidden]{display:none;}

.city-select-search{padding:10px;border-bottom:1px solid rgba(0,0,0,0.08);}
.city-select-search input{
  width:100%;border:1px solid var(--grey-2);border-radius:10px;
  padding:9px 12px;font-size:14px;font-family:inherit;
  background:rgba(255,255,255,0.7);outline:none;
}
.city-select-search input:focus{border-color:var(--black);}

.city-select-list{overflow-y:auto;padding:6px;}
.city-select-group{
  font-size:11px;text-transform:uppercase;letter-spacing:0.5px;
  color:var(--grey-3);padding:10px 10px 4px;
}
.city-select-option{
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 12px;border-radius:8px;font-size:14px;cursor:pointer;
}
.city-select-option:hover{background:rgba(0,0,0,0.06);}
.city-select-option.selected{background:linear-gradient(135deg, #b8934a, #8a6b2e);color:var(--white);}
.city-select-meta{display:flex;align-items:center;gap:8px;}
.city-select-prov{font-size:11px;color:var(--grey-3);}
.city-select-option.selected .city-select-prov{color:rgba(255,255,255,0.6);}
.city-select-count{
  font-size:11px;font-weight:600;color:#b8934a;
  background:rgba(184,147,74,0.1);padding:2px 8px;border-radius:999px;white-space:nowrap;
}
.city-select-count.zero{color:var(--grey-3);background:var(--grey-1);font-weight:500;}
.city-select-option.selected .city-select-count{background:rgba(255,255,255,0.2);color:#fff;}
.city-select-empty{padding:20px;text-align:center;font-size:13px;color:var(--grey-3);}

@media (max-width:768px){
  .city-select-panel{max-width:calc(100vw - 24px);}
}

/* ===== COME FUNZIONA (pagina dedicata) ===== */
.hero-compact{padding-top:50px;padding-bottom:20px;}

.howto-tabs{
  max-width:500px;margin:0 auto 50px;padding:0 20px;
  display:flex;gap:8px;
  background:rgba(255,255,255,0.3);
  backdrop-filter:blur(24px) saturate(200%);
  -webkit-backdrop-filter:blur(24px) saturate(200%);
  border:1px solid rgba(255,255,255,0.7);
  border-radius:14px;padding:6px;
}
.howto-tab{
  flex:1;padding:12px 16px;border:none;background:transparent;
  font-size:14px;font-weight:600;color:#555;border-radius:10px;cursor:pointer;
  transition:all .2s;font-family:inherit;
}
.howto-tab.active{
  background:linear-gradient(135deg, #b8934a, #8a6b2e);color:var(--white);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);
}

.howto-panel{display:none;max-width:800px;margin:0 auto;padding:0 20px 60px;}
.howto-panel.active{display:block;}

.howto-steps{display:flex;flex-direction:column;gap:26px;margin-top:24px;}
.howto-step{
  display:flex;gap:20px;
  background:rgba(255,255,255,0.3);
  backdrop-filter:blur(20px) saturate(190%);
  -webkit-backdrop-filter:blur(20px) saturate(190%);
  border:1px solid rgba(255,255,255,0.7);
  border-radius:16px;padding:22px;
  box-shadow:0 8px 28px rgba(31,38,135,0.1);
}
.howto-step-num{
  font-size:13px;font-weight:700;color:var(--white);
  background:linear-gradient(135deg, #b8934a, #8a6b2e);
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.howto-step h3{font-size:17px;margin-bottom:6px;}
.howto-step p{font-size:14px;line-height:1.6;color:#444;}
.howto-list{margin-top:10px;padding-left:18px;display:flex;flex-direction:column;gap:6px;}
.howto-list li{font-size:14px;line-height:1.5;color:#444;}

.howto-cta{
  max-width:600px;margin:0 auto 100px;padding:40px 30px;text-align:center;
  background:rgba(255,255,255,0.3);
  backdrop-filter:blur(24px) saturate(190%);
  -webkit-backdrop-filter:blur(24px) saturate(190%);
  border:1px solid rgba(255,255,255,0.7);
  border-radius:20px;
  box-shadow:0 12px 36px rgba(31,38,135,0.12);
}
.howto-cta h2{font-size:22px;margin-bottom:8px;}
.howto-cta p{font-size:14px;color:#555;margin-bottom:20px;}

@media (min-width:768px){
  .howto-step{align-items:flex-start;}
}

/* ===== CARD VETRINA — BADGE LIVELLO (tutti i 4 pacchetti) ===== */
.card-tier-top{
  position:relative;
  border:1px solid transparent;
  background-clip:padding-box;
}
.card-tier-4.card-tier-top{
  box-shadow:0 8px 32px rgba(37,99,235,0.22), inset 0 0 0 1.5px rgba(37,99,235,0.45);
}
.card-tier-3.card-tier-top{
  box-shadow:0 8px 32px rgba(180,140,40,0.2), inset 0 0 0 1.5px rgba(180,140,40,0.4);
}

.card-tier-badge{
  position:absolute;top:10px;left:10px;
  font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;
  padding:5px 10px;border-radius:6px;
  border:1px solid rgba(255,255,255,0.25);
}

/* Classic — grafite neutro */
.card-tier-1 .card-tier-badge{
  background:rgba(40,44,56,0.9);color:#d7dae0;
}

/* Silver — metallico chiaro */
.card-tier-2 .card-tier-badge{
  background:linear-gradient(135deg,#c7ccd6,#8f96a3);color:#1a1c22;
  border-color:rgba(255,255,255,0.5);
}

/* Gold — metallico ambra, sobrio non sgargiante */
.card-tier-3 .card-tier-badge{
  background:linear-gradient(135deg,#b8934a,#8a6b2e);color:#fff8ea;
  border-color:rgba(255,255,255,0.3);
}

/* Diamond — blu profondo, distinto dall'oro (colore esclusivo di questo livello) */
.card-tier-4 .card-tier-badge{
  background:linear-gradient(135deg,#2563eb,#14337a);color:var(--white);
  border-color:rgba(255,255,255,0.35);
}

/* ===== SELEZIONE PACCHETTO (creator/pacchetti.php) ===== */
.package-select-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
}
@media(min-width:1024px){
  .package-select-grid{grid-template-columns:repeat(4,1fr);gap:20px;}
}
.package-select-card{
  background:rgba(255,255,255,0.5);
  backdrop-filter:blur(24px) saturate(190%);
  -webkit-backdrop-filter:blur(24px) saturate(190%);
  border:1px solid rgba(255,255,255,0.7);
  border-radius:16px;padding:24px;
  box-shadow:0 8px 28px rgba(31,38,135,0.1);
  display:flex;flex-direction:column;gap:16px;
}
.package-select-card.package-active{
  border:2px solid rgba(30,122,68,0.35);
  box-shadow:0 8px 28px rgba(30,122,68,0.12);
  background:rgba(240,252,244,0.6);
}
.package-select-head{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.package-select-head h3{font-size:18px;font-weight:700;}
.review-tag{
  font-size:10px;font-weight:600;letter-spacing:0.3px;text-transform:uppercase;
  padding:4px 8px;border-radius:6px;
  background:rgba(240,180,41,0.15);color:#8a6116;white-space:nowrap;
}
.package-select-desc{font-size:13px;color:#555;line-height:1.5;}

.duration-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.duration-option{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  padding:10px 12px;border:1.5px solid var(--grey-2);border-radius:10px;
  cursor:pointer;transition:border-color .15s,background .15s;
}
.duration-option:has(input:checked){border-color:#b8934a;background:rgba(184,147,74,0.06);}
.duration-option input{display:none;}
.duration-days{font-size:13px;font-weight:700;}
.duration-price{font-size:12px;color:#555;}
.duration-discount{
  font-size:11px;font-weight:700;color:#1e7a44;
  background:#eafaf0;padding:2px 6px;border-radius:999px;
}

/* Tinte diverse per livello, coerenti con i badge vetrina */
.package-tier-1{border-color:rgba(40,44,56,0.3);}
.package-tier-2{border-color:rgba(140,146,160,0.4);}
.package-tier-3{border-color:rgba(180,140,40,0.4);}
.package-tier-4{border-color:rgba(37,99,235,0.4);}

/* ===== REVIEW CARD CON FOTO (admin richieste pacchetto) ===== */
.review-card:has(.review-card-photo){
  display:flex;flex-direction:column;gap:16px;
}
.review-card-photo{
  width:100%;max-width:160px;aspect-ratio:3/4;
  border-radius:12px;overflow:hidden;position:relative;
  background:var(--grey-1);border:1px solid var(--grey-2);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;color:var(--grey-3);
}
.review-card-photo img{width:100%;height:100%;object-fit:cover;}

@media (min-width:640px){
  .review-card:has(.review-card-photo){flex-direction:row;align-items:flex-start;}
}

/* ===== PANNELLO MOTIVO RIFIUTO (admin richieste pacchetto) ===== */
.reject-form{position:relative;}
.reject-panel{
  display:none;
  flex-direction:column;gap:8px;
  margin-top:10px;padding:12px;
  background:var(--grey-1);border:1px solid var(--grey-2);border-radius:10px;
  min-width:260px;
}
.reject-panel.open{display:flex;}
.reject-panel label{font-size:12px;font-weight:600;color:#555;}
.reject-panel textarea{
  border:1px solid var(--grey-2);border-radius:8px;padding:8px 10px;
  font-size:13px;font-family:inherit;resize:vertical;outline:none;
}
.reject-panel textarea:focus{border-color:#b8934a;}

/* ===== AVVISO RIFIUTO PACCHETTO (creator/pacchetti.php) ===== */
.reject-notice p{margin-top:8px;font-size:13px;line-height:1.5;}
.reject-reason{font-style:italic;}
.reject-notice-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.dismiss-form{flex-shrink:0;}
.dismiss-btn{
  background:transparent;border:none;cursor:pointer;
  font-size:14px;color:inherit;opacity:0.6;padding:2px 6px;line-height:1;
}
.dismiss-btn:hover{opacity:1;}

/* ===== CRONOLOGIA (creator) ===== */
.status-tag{
  font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;
  display:inline-block;
}
.status-tag.status-pending{background:rgba(240,180,41,0.15);color:#8a6116;}
.status-tag.status-approved{background:rgba(30,122,68,0.12);color:#1e7a44;}
.status-tag.status-rejected{background:rgba(179,58,58,0.12);color:#b33a3a;}
.history-reason-row td{
  font-size:12px;font-style:italic;color:#666;
  padding-top:0;padding-bottom:14px;border-bottom:1px solid var(--grey-2);
}

/* ===== ANTEPRIMA PREZZI (admin pacchetti) ===== */
.price-preview{
  font-size:12px;color:#555;background:var(--grey-1);
  padding:8px 10px;border-radius:8px;line-height:1.5;
}

/* ===== GALLERIA FOTO (creator/profilo.php) ===== */
.form-card + .form-card{margin-top:24px;}

.photo-gallery{
  display:flex;overflow-x:auto;gap:14px;
  padding:4px 4px 14px;margin-bottom:6px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.photo-gallery-item{
  position:relative;flex:0 0 150px;aspect-ratio:3/4;
  border-radius:16px;overflow:hidden;scroll-snap-align:start;
  border:1px solid rgba(255,255,255,0.15);
  box-shadow:0 8px 24px rgba(0,0,0,0.25);
  transition:transform .2s;
}
.photo-gallery-item:hover{transform:translateY(-3px);}
.photo-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-gallery-delete{position:absolute;top:8px;right:8px;}
.photo-gallery-delete button{
  width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,0.25);cursor:pointer;
  background:rgba(10,10,15,0.6);backdrop-filter:blur(8px);color:var(--white);font-size:13px;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.photo-gallery-delete button:hover{background:rgba(200,31,63,0.85);}

.photo-upload-form{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}

/* ===== GALLERIA FOTO NEL PROFILO PUBBLICO ===== */
.profile-gallery-section{max-width:900px;margin:0 auto;padding:0 20px 20px;}
.profile-gallery-section h2{font-size:19px;font-weight:600;margin-bottom:16px;letter-spacing:-0.3px;}
.profile-gallery-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;
}
.profile-gallery-item{
  aspect-ratio:3/4;border-radius:16px;overflow:hidden;
  border:1px solid rgba(255,255,255,0.15);
  box-shadow:0 10px 28px rgba(0,0,0,0.22);
  transition:transform .2s;
}
.profile-gallery-item:hover{transform:translateY(-4px);}
.profile-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}

/* ===== LIMITE FOTO NELLA SELEZIONE PACCHETTO ===== */
.package-photo-limit{font-size:12.5px;color:#b8934a;font-weight:600;}

/* ===== GRUPPI PER LIVELLO (vetrina) ===== */
.tier-group-head{
  max-width:600px;margin:50px auto 24px;padding:0 20px;
  display:flex;align-items:center;gap:14px;
}
.tier-group-head:first-of-type{margin-top:20px;}

.tier-group-line{flex:1;height:1px;opacity:0.4;}

.tier-group-badge{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  font-size:14px;font-weight:700;padding:8px 20px;border-radius:999px;
  box-shadow:0 6px 18px rgba(0,0,0,0.15);
}
.tier-group-count{opacity:0.75;font-weight:500;}

.tier-group-4 .tier-group-line{background:#2563eb;}
.tier-group-4 .tier-group-badge{background:linear-gradient(135deg,#2563eb,#14337a);color:#fff;}

.tier-group-3 .tier-group-line{background:#b8934a;}
.tier-group-3 .tier-group-badge{background:linear-gradient(135deg,#b8934a,#8a6b2e);color:#fff8ea;}

.tier-group-2 .tier-group-line{background:#a5abb8;}
.tier-group-2 .tier-group-badge{background:linear-gradient(135deg,#c7ccd6,#8f96a3);color:#1a1c22;}

.tier-group-1 .tier-group-line{background:#282c38;}
.tier-group-1 .tier-group-badge{background:#282c38;color:#fff;}

.tier-group-0 .tier-group-line{background:#ccc;}
.tier-group-0 .tier-group-badge{background:var(--grey-1);color:#555;}

.tier-group-head + .grid{margin-bottom:10px;}

/* ===== RIGA LINK DOCUMENTI VERIFICA (admin verifiche) ===== */
.doc-links-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.doc-links-row .doc-link{
  font-size:12.5px;font-weight:600;text-decoration:underline;
  background:var(--grey-1);padding:6px 12px;border-radius:8px;
}
.doc-links-row .doc-missing{
  font-size:12.5px;color:var(--grey-3);font-style:italic;
  background:var(--grey-1);padding:6px 12px;border-radius:8px;
}

/* ===== PAGINA LEGALE (termini, privacy) ===== */
.legal-page{max-width:760px;margin:50px auto 100px;padding:0 20px;}
.legal-page h1{font-size:clamp(26px,5vw,34px);font-weight:700;letter-spacing:-0.5px;margin-bottom:8px;}
.legal-updated{font-size:13px;color:var(--grey-3);margin-bottom:36px;}
.legal-page h2{font-size:18px;font-weight:700;margin:32px 0 12px;letter-spacing:-0.2px;}
.legal-page p{font-size:14.5px;line-height:1.7;color:#333;margin-bottom:12px;}
.legal-page ul{margin:0 0 16px;padding-left:20px;display:flex;flex-direction:column;gap:8px;}
.legal-page li{font-size:14.5px;line-height:1.6;color:#333;}
.legal-page a{text-decoration:underline;color:#b8934a;}

/* ===== BANNER CONSENSO TERMINI/PRIVACY/COOKIE ===== */
.consent-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:3000;
  display:none;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;
  background:rgba(10,10,15,0.92);backdrop-filter:blur(12px);
  color:#e7e9f0;padding:16px 24px;
  box-shadow:0 -4px 20px rgba(0,0,0,0.25);
}
.consent-banner p{font-size:13px;line-height:1.5;max-width:700px;margin:0;color:#c5cadb;}
.consent-banner a{color:#8fb3ff;text-decoration:underline;}
.consent-banner .btn{flex-shrink:0;padding:10px 24px;}

@media (max-width:640px){
  .consent-banner{flex-direction:column;align-items:stretch;text-align:center;}
  .consent-banner .btn{width:100%;}
}

/* ===== LINK PASSWORD DIMENTICATA ===== */
.field-hint-link{font-size:12.5px;text-decoration:underline;color:#b8934a;align-self:flex-end;}

/* ===== LOGO IMMAGINE (nav, footer, sidebar) ===== */
.logo-img{display:inline-flex;align-items:center;}
.logo-img img{height:52px;width:auto;display:block;}
.admin-logo.logo-img img{height:44px;}
.footer-col .logo-img img{height:48px;}
.loader-logo.logo-img img{height:44px;}

/* ===== NASTRO TIER (Classic/Silver/Gold/Diamond) ===== */
.card-ribbon{
  position:absolute;top:16px;left:-42px;width:165px;
  transform:rotate(-45deg);
  color:#fff;text-align:center;
  font-size:10px;font-weight:700;letter-spacing:0.8px;
  padding:5px 0;box-shadow:0 3px 10px rgba(0,0,0,0.3);z-index:6;
}
.ribbon-classic{background:linear-gradient(135deg,#282c38,#1a1c22);}
.ribbon-silver{background:linear-gradient(135deg,#8f96a3,#6b7280);color:#fff;}
.ribbon-gold{background:linear-gradient(135deg,#b8934a,#8a6b2e);}
.ribbon-diamond{background:linear-gradient(135deg,#2563eb,#14337a);}

/* ===== SELETTORE LINGUA ===== */
.lang-selector{position:relative;}
.lang-btn{
  display:flex;align-items:center;gap:6px;
  background:rgba(184,147,74,0.1);border:1px solid rgba(184,147,74,0.35);
  color:#8a6b2e;padding:6px 12px;border-radius:999px;
  font-size:13px;font-weight:600;cursor:pointer;
  transition:background .2s;white-space:nowrap;
}
.lang-btn:hover{background:rgba(184,147,74,0.2);}
.lang-dropdown{
  position:absolute;top:calc(100% + 8px);right:0;
  background:#fff;border:1px solid var(--grey-2);border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
  display:none;flex-direction:column;min-width:150px;overflow:hidden;z-index:500;
}
.lang-dropdown.open{display:flex;}
.lang-dropdown button{
  background:none;border:none;text-align:left;
  padding:10px 16px;font-size:13px;cursor:pointer;color:#333;
  transition:background .15s;
}
.lang-dropdown button:hover{background:var(--grey-1);}

/* ===== NASCONDI BARRA GOOGLE TRANSLATE ===== */
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover{display:none!important;visibility:hidden!important;}
body{top:0!important;position:static!important;}
iframe.goog-te-banner-frame{display:none!important;}
.lang-dropdown .lang-active{font-weight:700;color:#b8934a;}


/* ===== SELETTORE LINGUA NEL DOCK MOBILE ===== */
.dock-lang-wrap{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center;}
.dock-lang-dropdown{
  display:none;position:absolute;bottom:calc(100% + 10px);right:0;
  background:rgba(10,10,15,0.95);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.12);border-radius:12px;
  overflow:hidden;min-width:110px;z-index:9999;
  box-shadow:0 8px 24px rgba(0,0,0,0.4);
}
.dock-lang-dropdown.open{display:block;}
.dock-lang-dropdown button{
  display:block;width:100%;background:none;border:none;
  text-align:left;padding:10px 14px;font-size:13px;
  color:rgba(255,255,255,0.8);cursor:pointer;
  transition:background .15s;
}
.dock-lang-dropdown button:hover{background:rgba(255,255,255,0.1);}

/* ===== PANNELLO CREATOR/ADMIN — ottimizzazione mobile ===== */
@media (max-width:767px){
  .admin-page-head{margin-bottom:16px;}
  .admin-page-head h1{font-size:20px;}
  .admin-page-head p{font-size:13px;}
  .form-section h2{font-size:11px;margin-bottom:10px;}
  .form-group{margin-bottom:12px;}
  .form-group label{font-size:12px;}
  .btn-block{padding:12px 16px;font-size:14px;}
  .field-hint{font-size:12px;}
  .balance-box{padding:14px 16px;}
  .stat-value{font-size:22px;}
}

/* ===== CHECKBOX LABEL ===== */
.form-checkbox-label{
  display:flex;align-items:center;gap:10px;
  font-size:14px;cursor:pointer;
}
.form-checkbox-label input[type="checkbox"]{
  width:18px;height:18px;cursor:pointer;accent-color:var(--black);
}

/* ===== FILTRO GENERE (home) ===== */
.genere-pills{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
  margin-bottom:16px;
}
.genere-pill{
  padding:8px 20px;border-radius:999px;font-size:14px;font-weight:600;
  border:2px solid var(--grey-2);color:var(--grey-3);
  transition:all .2s;
}
.genere-pill:hover{border-color:var(--black);color:var(--black);}
.genere-pill.active{
  background:var(--black);color:var(--white);border-color:var(--black);
}

/* ===== ICONE SVG INLINE ===== */
.icon-xs{width:14px;height:14px;flex-shrink:0;}
.icon-sm{width:16px;height:16px;flex-shrink:0;}
.icon-md{width:20px;height:20px;flex-shrink:0;}
.icon-flag{width:20px;height:15px;border-radius:2px;flex-shrink:0;}

/* Allineamento verticale nelle label pill e card */
.genere-pill svg,
.package-photo-limit svg,
.review-tag svg{vertical-align:middle;margin-right:4px;}

/* ===== ADMIN DASHBOARD ===== */
.dash-kpi-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:24px;
}
@media(min-width:768px){.dash-kpi-grid{grid-template-columns:repeat(4,1fr);}}

.dash-kpi{
  background:var(--white);border:1px solid var(--grey-2);border-radius:14px;
  padding:18px;display:flex;flex-direction:column;gap:10px;
}
.dash-kpi-alert{border-color:rgba(184,147,74,0.4);background:rgba(184,147,74,0.04);}
.dash-kpi svg{opacity:0.85;}
.dash-kpi .stat-value{font-size:28px;font-weight:700;line-height:1;}
.dash-kpi-badge{
  display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;
  border-radius:999px;text-decoration:none;
}
.dash-kpi-badge.green{background:rgba(30,122,68,0.1);color:#1e7a44;}
.dash-kpi-badge.orange{background:rgba(184,147,74,0.12);color:#8a6b2e;}

.dash-row{display:flex;gap:14px;margin-bottom:14px;flex-wrap:wrap;}
.dash-card{
  background:var(--white);border:1px solid var(--grey-2);border-radius:14px;
  padding:20px;flex:1;min-width:240px;
}
.dash-card-wide{flex:2;min-width:300px;}
.dash-card-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:16px;
}
.dash-card-head h3{
  font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;
  display:flex;align-items:center;gap:6px;
}

/* Grafico a barre visite */
.dash-chart{
  display:flex;align-items:flex-end;gap:8px;height:100px;
  padding-top:20px;
}
.dash-bar-wrap{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;
  justify-content:flex-end;
}
.dash-bar{
  width:100%;background:linear-gradient(180deg,#b8934a,#8a6b2e);
  border-radius:4px 4px 0 0;min-height:2px;position:relative;transition:height .3s;
}
.dash-bar-val{
  position:absolute;top:-18px;left:50%;transform:translateX(-50%);
  font-size:10px;font-weight:600;white-space:nowrap;color:var(--black);
}
.dash-bar-label{font-size:10px;color:var(--grey-3);text-align:center;}

/* Pacchetti */
.dash-pkg-list{display:flex;flex-direction:column;gap:8px;}
.dash-pkg-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 12px;border-radius:8px;background:var(--grey-1);
}
.dash-pkg-name{font-size:13px;font-weight:600;}
.dash-pkg-count{font-size:18px;font-weight:700;color:#b8934a;}
.pkg-sort-4{color:#2563eb;}
.pkg-sort-3{color:#b8934a;}
.pkg-sort-2{color:#888;}
.pkg-sort-1{color:#282c38;}

/* Revenue */
.dash-revenue-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* Mini tabella ultimi iscritti */
.dash-mini-table{width:100%;border-collapse:collapse;font-size:13px;}
.dash-mini-table th{
  text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:0.5px;
  color:var(--grey-3);padding:0 8px 8px;border-bottom:1px solid var(--grey-2);
}
.dash-mini-table td{
  padding:8px;border-bottom:1px solid var(--grey-1);vertical-align:middle;
}
.dash-mini-table tr:last-child td{border-bottom:none;}

/* Status badge */
.dash-status{
  font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;
  text-transform:uppercase;letter-spacing:0.3px;
}
.dash-status-approved{background:rgba(30,122,68,0.1);color:#1e7a44;}
.dash-status-pending{background:rgba(184,147,74,0.12);color:#8a6b2e;}
.dash-status-rejected{background:rgba(180,50,50,0.1);color:#b33a3a;}
.dash-status-suspended{background:rgba(100,100,100,0.1);color:#555;}

/* ===== ADMIN PROFILI — tabella compatta ===== */
.profili-filtri{
  display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;align-items:center;
}
.profili-search{
  flex:1;min-width:200px;padding:9px 14px;border:1px solid var(--grey-2);
  border-radius:10px;font-size:14px;
}
.profili-filtri select{
  padding:9px 12px;border:1px solid var(--grey-2);border-radius:10px;
  font-size:14px;background:var(--white);
}

.profili-table-wrap{overflow-x:auto;}
.profili-table{
  width:100%;border-collapse:collapse;font-size:13px;
  background:var(--white);border:1px solid var(--grey-2);border-radius:14px;overflow:hidden;
}
.profili-table th{
  background:var(--grey-1);padding:10px 14px;text-align:left;
  font-size:11px;text-transform:uppercase;letter-spacing:0.5px;color:var(--grey-3);
  font-weight:600;border-bottom:1px solid var(--grey-2);white-space:nowrap;
}
.profili-table td{
  padding:12px 14px;border-bottom:1px solid var(--grey-1);vertical-align:top;
}
.profili-table tbody tr:last-child td{border-bottom:none;}
.profili-table tbody tr:hover td{background:rgba(184,147,74,0.03);}

.profili-creator{display:flex;align-items:center;gap:10px;}
.profili-avatar{
  width:38px;height:38px;border-radius:50%;overflow:hidden;flex-shrink:0;
  background:var(--grey-1);display:flex;align-items:center;justify-content:center;
}
.profili-avatar img{width:100%;height:100%;object-fit:cover;}
.profili-name{font-weight:600;color:var(--black);}
.profili-email{font-size:11px;color:var(--grey-3);margin-top:1px;}
.profili-link{font-size:11px;color:#b8934a;display:inline-flex;align-items:center;gap:3px;margin-top:2px;}
.profili-zone{color:var(--grey-3);white-space:nowrap;}
.profili-date{color:var(--grey-3);white-space:nowrap;font-size:12px;}

.profili-actions{display:flex;gap:6px;flex-wrap:wrap;}
.profili-btn{
  padding:5px 12px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;
  border:1.5px solid;transition:all .15s;white-space:nowrap;
}
.profili-btn-green{border-color:#1e7a44;color:#1e7a44;background:transparent;}
.profili-btn-green:hover{background:#1e7a44;color:#fff;}
.profili-btn-orange{border-color:#b8934a;color:#b8934a;background:transparent;}
.profili-btn-orange:hover{background:#b8934a;color:#fff;}
.profili-btn-red{border-color:#b33a3a;color:#b33a3a;background:transparent;}
.profili-btn-red:hover{background:#b33a3a;color:#fff;}

.profili-panel{
  display:none;margin-top:8px;padding:10px;background:var(--grey-1);
  border-radius:8px;border:1px solid var(--grey-2);
}
.profili-panel.open{display:block;}
.profili-panel-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.profili-panel-row select,.profili-panel-row input{
  padding:6px 10px;border:1px solid var(--grey-2);border-radius:8px;font-size:13px;
  background:var(--white);flex:1;min-width:100px;
}

/* ===== ADMIN PACCHETTI ===== */
.pkg-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media(min-width:768px){.pkg-admin-grid{grid-template-columns:repeat(4,1fr);}}

.pkg-admin-card{
  border:1.5px solid var(--grey-2);border-radius:12px;padding:16px;
  display:flex;flex-direction:column;gap:10px;
}
.pkg-sort-border-1{border-color:#282c38;}
.pkg-sort-border-2{border-color:#8f96a3;}
.pkg-sort-border-3{border-color:#b8934a;}
.pkg-sort-border-4{border-color:#2563eb;}

.pkg-admin-tier{
  font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:1px;padding:4px 10px;border-radius:999px;
  width:fit-content;background:var(--grey-1);
}

.pkg-price-preview{
  font-size:11px;color:var(--grey-3);padding:6px 10px;
  background:var(--grey-1);border-radius:6px;line-height:1.5;
}

.pkg-inline-input{
  width:100%;padding:7px 10px;border:1px solid var(--grey-2);
  border-radius:8px;font-size:13px;
}

/* ===== CREATOR PROFILO — sezioni ===== */
.creator-section{
  background:var(--white);border:1px solid var(--grey-2);border-radius:16px;
  overflow:hidden;margin-bottom:14px;
}
.creator-section-head{
  display:flex;align-items:center;gap:14px;
  padding:16px 20px;border-bottom:1px solid var(--grey-1);
  background:var(--grey-1);
}
.creator-section-head h3{font-size:15px;font-weight:700;margin-bottom:2px;}
.creator-section-head p{font-size:12px;color:var(--grey-3);margin:0;}
.creator-section-body{padding:20px;}

/* Radio cards genere */
.creator-radio-group{display:flex;gap:10px;flex-wrap:wrap;}
.creator-radio-card{
  display:flex;align-items:center;gap:8px;padding:10px 16px;
  border:1.5px solid var(--grey-2);border-radius:10px;cursor:pointer;
  font-size:14px;font-weight:500;transition:all .15s;
}
.creator-radio-card input{display:none;}
.creator-radio-card.selected{
  border-color:#b8934a;background:rgba(184,147,74,0.06);color:#8a6b2e;
}
.creator-radio-card:hover{border-color:#b8934a;}

/* Links list */
.creator-links-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.creator-link-item{
  display:flex;align-items:center;gap:12px;padding:10px 14px;
  border:1px solid var(--grey-2);border-radius:10px;background:var(--grey-1);
}
.creator-link-info{flex:1;min-width:0;}
.creator-link-label{font-size:13px;font-weight:600;display:block;}
.creator-link-url{font-size:11px;color:var(--grey-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.creator-link-del{
  width:28px;height:28px;border-radius:50%;border:1px solid var(--grey-2);
  background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:#b33a3a;flex-shrink:0;transition:all .15s;
}
.creator-link-del:hover{background:#b33a3a;color:#fff;border-color:#b33a3a;}

/* Info box locked */
.creator-info-box{
  display:flex;align-items:flex-start;gap:10px;padding:12px 14px;
  background:var(--grey-1);border-radius:10px;font-size:13px;color:var(--grey-3);
}

/* ===== CRONOLOGIA CARD ===== */
.crono-card{
  display:flex;align-items:center;gap:12px;
  background:var(--white);border:1px solid var(--grey-2);border-radius:12px;
  padding:14px 16px;
}
.crono-card-rejected{opacity:0.7;background:rgba(179,58,58,0.03);}
.crono-icon{
  width:36px;height:36px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;
}
.crono-icon-green{background:rgba(30,122,68,0.1);}
.crono-icon-gold{background:rgba(184,147,74,0.1);}
.crono-icon-red{background:rgba(179,58,58,0.1);color:#b33a3a;}
.crono-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.crono-title{font-size:14px;font-weight:600;}
.crono-date{font-size:12px;color:var(--grey-3);}
.crono-reason{font-size:12px;color:#b33a3a;font-style:italic;margin-top:2px;}
.crono-values{
  display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;
}
.crono-credits{font-size:14px;font-weight:700;}
.crono-price{font-size:13px;color:var(--grey-3);}

/* ===== DURATION GRID 2x2 ===== */
.duration-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.duration-grid .duration-option{
  flex-direction:column;align-items:flex-start;
  padding:8px 10px;gap:2px;
}
.duration-grid .duration-days{font-size:13px;font-weight:700;min-width:0;}
.duration-grid .duration-price{font-size:12px;color:#555;}
.duration-grid .duration-discount{font-size:11px;font-weight:700;color:#1e7a44;}

/* Card carosello compatta */
.pkg-slider .package-select-card .package-select-desc{
  font-size:12px;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.pkg-slider .package-select-card .package-photo-limit{font-size:12px;}
.pkg-slider .package-select-card .package-select-head h3{font-size:16px;}

/* ===== REGISTRAZIONE — doc grid ===== */
.reg-doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
@media(max-width:600px){.reg-doc-grid{grid-template-columns:1fr;}}

.reg-doc-item label{
  display:flex;flex-direction:column;gap:4px;padding:12px;
  border:1.5px dashed var(--grey-2);border-radius:10px;cursor:pointer;
  font-size:13px;transition:border-color .2s;
}
.reg-doc-item label:hover{border-color:#b8934a;}
.reg-doc-item label small{font-size:11px;color:var(--grey-3);}
.reg-doc-item input[type="file"]{margin-top:6px;font-size:12px;width:100%;}

/* ===== REGISTRAZIONE A STEP ===== */
.reg-page .form-page-head{text-align:center;margin-bottom:24px;}
.reg-steps{display:flex;flex-direction:column;gap:0;max-width:680px;margin:0 auto;}

.reg-step{
  display:flex;gap:16px;padding:20px 0;
  border-bottom:1px solid var(--grey-1);
}
.reg-step-last{border-bottom:none;padding-bottom:0;}

.reg-step-num{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;margin-top:2px;
  background:linear-gradient(135deg,#b8934a,#8a6b2e);color:#fff;
  font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.reg-step-body{flex:1;min-width:0;}
.reg-step-body h3{
  font-size:14px;font-weight:700;margin-bottom:14px;
  display:flex;align-items:center;gap:6px;
}

/* Doc grid con preview */
.reg-doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
@media(max-width:480px){.reg-doc-grid{grid-template-columns:1fr;}}

.reg-doc-item{display:flex;flex-direction:column;gap:6px;}
.reg-doc-preview{
  width:100%;aspect-ratio:4/3;border-radius:10px;
  border:1.5px dashed var(--grey-2);background:var(--grey-1);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  transition:border-color .2s;
}
.reg-doc-item input:focus + .reg-doc-preview,
.reg-doc-item:has(input:not([value=""])) .reg-doc-preview{border-color:#b8934a;}
.reg-doc-item label{font-size:12px;font-weight:600;color:var(--grey-3);}
.reg-doc-item input[type="file"]{font-size:12px;width:100%;}

/* ===== WIZARD REGISTRAZIONE ===== */
.reg-wizard .form-page-head{text-align:center;margin-bottom:20px;}

.wiz-progress{
  height:4px;background:var(--grey-2);border-radius:99px;
  margin-bottom:12px;max-width:560px;margin-left:auto;margin-right:auto;
}
.wiz-bar{height:100%;background:linear-gradient(90deg,#b8934a,#8a6b2e);border-radius:99px;transition:width .3s;}

.wiz-steps-labels{
  display:flex;justify-content:space-between;max-width:560px;
  margin:0 auto 24px;
}
.wiz-label{
  font-size:11px;font-weight:600;color:var(--grey-3);transition:color .2s;
  text-align:center;flex:1;
}
.wiz-label.active{color:#b8934a;}
.wiz-label.done{color:#1e7a44;}

.wiz-step{display:none;max-width:560px;margin:0 auto;}
.wiz-step.active{display:block;}

.wiz-nav{
  display:flex;justify-content:space-between;gap:10px;
  max-width:560px;margin:20px auto 0;
}
.wiz-nav .btn{flex:1;}

/* Documenti compatti */
.reg-doc-row{margin-bottom:16px;}
.reg-doc-label{
  display:flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;margin-bottom:8px;
}
.reg-doc-upload-row{display:flex;align-items:center;gap:12px;}
.reg-doc-preview-sm{
  width:64px;height:64px;border-radius:8px;flex-shrink:0;
  border:1.5px dashed var(--grey-2);background:var(--grey-1);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  transition:border-color .2s;
}
.reg-doc-upload-row input[type="file"]{flex:1;font-size:13px;}

/* ===== WIZARD — step dettagli ===== */
.wiz-step-desc{
  font-size:13px;color:var(--grey-3);margin-bottom:16px;
  padding:10px 12px;background:var(--grey-1);border-radius:8px;
}

/* Form-row 3 colonne su desktop */
@media(min-width:480px){
  .wiz-step .form-row{flex-direction:row;}
  .wiz-step .form-row .form-group{flex:1;}
}

/* Input focus gold */
.wiz-step input:focus,
.wiz-step select:focus,
.wiz-step textarea:focus{
  border-color:#b8934a;
  box-shadow:0 0 0 3px rgba(184,147,74,0.12);
  outline:none;
}

/* Textarea più alta */
.wiz-step textarea{min-height:100px;resize:vertical;}

/* Label con * oro */
.wiz-step label{font-size:13px;font-weight:600;color:var(--black);}

/* ===== WIZARD — input styling ===== */
.reg-wizard .form-group label{
  font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:0.4px;color:var(--grey-3);
}
.reg-wizard .form-group input,
.reg-wizard .form-group select,
.reg-wizard .form-group textarea{
  background:var(--white);
  border:1.5px solid var(--grey-2);
  border-radius:12px;padding:13px 16px;
  font-size:15px;
}
.reg-wizard .form-group input:focus,
.reg-wizard .form-group select:focus,
.reg-wizard .form-group textarea:focus{
  border-color:#b8934a;
  box-shadow:0 0 0 3px rgba(184,147,74,0.12);
}
.reg-wizard .form-group textarea{min-height:110px;resize:vertical;}

/* form-row nel wizard: sempre 2 col */
.reg-wizard .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:360px){.reg-wizard .form-row{grid-template-columns:1fr;}}

/* ===== DOC UPLOAD CARDS ===== */
.reg-doc-grid-3{display:flex;flex-direction:column;gap:10px;}

.reg-doc-card{
  display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:12px;
  padding:12px;border:1.5px solid var(--grey-2);border-radius:14px;
  background:var(--white);transition:border-color .2s;
}
.reg-doc-card-done{border-color:#1e7a44;background:rgba(30,122,68,0.03);}

.reg-doc-thumb{
  width:72px;height:72px;border-radius:10px;overflow:hidden;
  background:var(--grey-1);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.reg-doc-info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.reg-doc-title{font-size:14px;font-weight:700;}
.reg-doc-sub{font-size:11px;color:var(--grey-3);}

.reg-doc-btn{
  padding:8px 14px;border-radius:10px;border:1.5px solid #b8934a;
  color:#b8934a;font-size:13px;font-weight:600;cursor:pointer;
  white-space:nowrap;flex-shrink:0;transition:all .15s;
}
.reg-doc-btn:hover{background:#b8934a;color:#fff;}
.reg-doc-card input[type="file"]{display:none;}

.wiz-terms{
  display:flex;align-items:flex-start;gap:10px;
  margin-top:16px;padding:14px;
  background:var(--grey-1);border-radius:12px;
  font-size:13px;
}
.wiz-terms input{width:18px;height:18px;flex-shrink:0;accent-color:#b8934a;margin-top:1px;}

/* ===== VERIFICHE CARD ===== */
.verifica-card{display:flex;flex-direction:column;gap:14px;}

.verifica-head{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;}
.verifica-avatar{
  width:52px;height:52px;border-radius:50%;flex-shrink:0;
  background:var(--grey-1);border:1px solid var(--grey-2);
  display:flex;align-items:center;justify-content:center;
}
.verifica-identity{flex:1;min-width:180px;}
.verifica-azioni-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto;}

.verifica-details{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;
  background:var(--grey-1);border-radius:10px;padding:12px;
}
.verifica-detail-item{display:flex;flex-direction:column;gap:2px;}
.verifica-detail-label{font-size:10px;text-transform:uppercase;letter-spacing:0.4px;color:var(--grey-3);font-weight:600;}
.verifica-detail-val{font-size:13px;font-weight:600;color:var(--black);}

.verifica-docs{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--grey-1);}
.verifica-doc-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;
  border:1.5px solid rgba(30,122,68,0.3);color:#1e7a44;
  text-decoration:none;transition:all .15s;
}
.verifica-doc-btn:hover{background:#1e7a44;color:#fff;border-color:#1e7a44;}
.verifica-doc-missing{
  border-color:var(--grey-2);color:var(--grey-3);
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;
}

/* ===== DOC LIGHTBOX MODAL ===== */
.doc-modal-overlay{
  display:none;position:fixed;inset:0;z-index:99999;
  background:rgba(0,0,0,0.85);backdrop-filter:blur(4px);
  align-items:center;justify-content:center;
}
.doc-modal-overlay.open{display:flex;}
.doc-modal-content{
  display:flex;align-items:center;justify-content:center;
  animation:modalIn .2s ease;
}
.doc-modal-close{
  position:fixed;top:16px;right:20px;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.3);
  color:#fff;font-size:24px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;z-index:100000;
}
.doc-modal-close:hover{background:rgba(255,255,255,0.3);}
@keyframes modalIn{from{opacity:0;transform:scale(.95);}to{opacity:1;transform:scale(1);}}

/* ===== MOBILE: tabella profili ===== */
@media(max-width:767px){
  .profili-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .profili-table{min-width:500px;}
  .profili-filtri{flex-direction:column;}
  .profili-search{min-width:0;width:100%;}
  .profili-filtri select{width:100%;}

  /* Verifiche card mobile */
  .verifica-head{flex-direction:column;gap:10px;}
  .verifica-azioni-top{margin-left:0;width:100%;justify-content:flex-start;}
  .verifica-details{grid-template-columns:1fr 1fr;}
  .verifica-card .dash-card{padding:14px;}
  .verifica-docs{gap:6px;}
  .verifica-doc-btn,.verifica-doc-missing{padding:5px 10px;font-size:11px;}
}

/* ===== PROFILI — azioni inline sotto nome ===== */
.profili-inline-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px;align-items:center;}

.profili-btn-detail{
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;
  background:#b8934a;color:#fff;text-decoration:none;
  transition:opacity .15s;
}
.profili-btn-detail:hover{opacity:0.85;}

.profili-btn-mini{
  padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;
  border:1.5px solid;cursor:pointer;background:transparent;
  transition:all .15s;
}
.profili-btn-mini.orange{border-color:#b8934a;color:#b8934a;}
.profili-btn-mini.orange:hover{background:#b8934a;color:#fff;}
.profili-btn-mini.red{border-color:#b33a3a;color:#b33a3a;}
.profili-btn-mini.red:hover{background:#b33a3a;color:#fff;}
.profili-btn-mini.green{border-color:#1e7a44;color:#1e7a44;}
.profili-btn-mini.green:hover{background:#1e7a44;color:#fff;}

/* ===== GUADAGNI — lista righe ===== */
.guadagni-list{display:flex;flex-direction:column;gap:1px;background:var(--grey-2);border-radius:12px;overflow:hidden;}
.guadagni-row{
  display:flex;align-items:center;gap:10px;padding:10px 14px;
  background:var(--white);
}
.guadagni-row:first-child{border-radius:12px 12px 0 0;}
.guadagni-row:last-child{border-radius:0 0 12px 12px;}
.guadagni-creator{display:flex;align-items:center;gap:8px;flex:1;min-width:0;}
.guadagni-info{display:flex;flex-direction:column;gap:2px;flex-shrink:0;align-items:flex-end;}
.guadagni-values{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;min-width:70px;}

/* ===== PAGINA SOSPENSIONE ===== */
.sospeso-card{
  background:var(--white);border:1.5px solid var(--grey-2);border-radius:20px;
  padding:40px 32px;max-width:460px;width:100%;text-align:center;
  box-shadow:0 8px 32px rgba(0,0,0,0.08);
}
.sospeso-icon{
  width:64px;height:64px;border-radius:50%;background:rgba(179,58,58,0.08);
  display:flex;align-items:center;justify-content:center;margin:0 auto 20px;
}
.sospeso-card h2{font-size:20px;font-weight:700;margin-bottom:8px;}
.sospeso-sub{font-size:14px;color:var(--grey-3);margin-bottom:20px;}
.sospeso-reason{
  background:rgba(179,58,58,0.05);border:1px solid rgba(179,58,58,0.15);
  border-radius:10px;padding:14px;margin-bottom:20px;text-align:left;
}
.sospeso-reason p{font-size:14px;margin-top:4px;color:#b33a3a;}
.sospeso-countdown-wrap{
  background:var(--grey-1);border-radius:12px;padding:16px;margin-bottom:8px;
}
.sospeso-date{font-size:16px;font-weight:700;margin:6px 0 10px;}
.sospeso-timer{
  font-size:24px;font-weight:800;letter-spacing:2px;
  color:var(--black);font-variant-numeric:tabular-nums;
}

/* ===== PROFILO PUBBLICO — contrasto ===== */
.profilo-page{background:#f4f2ef;}
.profilo-hero{background:var(--white);border-bottom:1.5px solid #e8e0d4;}
.profilo-info-card{
  background:#f8f6f3;border:1.5px solid #ddd5c8;border-radius:14px;padding:16px 18px;
}
.profilo-label{
  font-size:11px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;
  color:#666;margin-bottom:8px;display:flex;align-items:center;gap:6px;
}

/* ===== VISIBILITÀ PROFILO ===== */
.profilo-visibility-bar{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
  background:var(--white);border:1.5px solid var(--grey-2);border-radius:12px;
  padding:12px 16px;margin-bottom:16px;
}
.profilo-visibility-status{display:flex;align-items:center;gap:8px;font-size:14px;}
.vis-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block;}
.vis-dot-on{background:#1e7a44;box-shadow:0 0 6px rgba(30,122,68,0.5);}
.vis-dot-off{background:#b33a3a;}

/* ===== LEAFLET attribution ridotta ===== */
.leaflet-control-attribution{
  font-size:9px !important;
  opacity:0.5 !important;
  padding:1px 4px !important;
  background:rgba(255,255,255,0.6) !important;
}
.leaflet-control-attribution a{color:#555 !important;}
