:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#fff2eb;background:#160910}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#411b2d,#190b13 55%,#12080e)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}h2{font:700 clamp(22px,3vw,30px) Georgia,serif;margin:0 0 14px}p{line-height:1.55}a{color:#f6cda3}.hero{height:clamp(160px,19vw,300px);background:url('assets/cinema-banner.webp') center center/cover no-repeat;border-bottom:1px solid #794354}.page{width:min(1400px,100%);padding:22px clamp(14px,3.5vw,40px) 100px;margin:auto}.account{display:flex;justify-content:flex-end;align-items:center;gap:12px;min-height:50px;margin-bottom:8px}.google{background:#fff;color:#202124;border:1px solid #dadce0;border-radius:6px;padding:11px 17px;display:flex;gap:12px;align-items:center;font-weight:600;box-shadow:0 2px 6px #0002}.outline{border:1px solid #926474;background:#3a2334;color:#fff1eb;border-radius:11px;padding:11px 15px}.flash{background:#3e2431;border-left:3px solid #f1b7bb;border-radius:7px;padding:12px 16px;margin:10px 0}.flash.error,.error{color:#ffd9d9}.counters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:8px auto 25px}.counters span,.count-pill{border:1px solid #895061;background:#301822;border-radius:999px;padding:10px 16px;font-size:14px}.counters b{color:#ffb3c6}.section{margin:25px 0 36px}.section-heading{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.hint{font-size:13px;color:#d9b5c2}.main-actions{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin:22px 0 30px}.action{border:1px solid #9a7d9b;border-radius:13px;background:linear-gradient(145deg,#5a405e,#463047);color:#fff;font-weight:750;padding:15px 21px;min-height:48px}.action.primary{color:#321625;border-color:#eda2b6;background:linear-gradient(#fab4c5,#f4a1b6)}.filters{border:1px solid #724858;border-radius:20px;background:linear-gradient(135deg,#302029,#27161f);padding:22px;margin-bottom:23px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.filters label,.modal label{font-size:13px;font-weight:650;display:flex;flex-direction:column;gap:8px}.filters input,.filters select,.modal input,.modal select{min-width:0;width:100%;border:1px solid #855467;border-radius:12px;color:#fff;background:#24151e;padding:13px 15px;height:49px}.filters select{appearance:auto}.filter-status{margin-top:16px}.filter-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-top:18px;color:#e7b8c6}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:17px;align-items:stretch}.card{border:1px solid #734052;border-radius:17px;background:linear-gradient(#301924,#26151f);display:flex;flex-direction:column;overflow:hidden;min-width:0}.poster-frame{height:215px;background:#130d14;display:flex;align-items:center;justify-content:center;overflow:hidden}.poster-frame img{width:100%;height:100%;object-fit:contain}.poster-placeholder{font-size:14px;color:#d7aabb;max-width:80%;text-align:center}.card-body{display:flex;flex-direction:column;gap:11px;flex:1;padding:16px}.card h3{font:700 23px/1.17 Georgia,serif;margin:0}.platform{align-self:flex-start;padding:5px 10px;border:1px solid #86505d;border-radius:10px;font-size:12px;font-weight:650}.netflixN{color:#ec2634;font-weight:900;font-size:16px}.primeN{color:#55c3fc;font-weight:900}.rating-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rating-line .star-text{color:#ffbd48;white-space:nowrap;font-size:21px;letter-spacing:1px}.rating-line small{font-size:11px;color:#e4b6c6}.rating-line .empty-stars{color:#77616c}.helper{font-size:11px;color:#b99caa}.genres{display:flex;gap:5px;flex-wrap:wrap}.genre{background:#73324d;border:1px solid #9e526e;border-radius:999px;padding:5px 8px;font-size:11px}.type-label{font-size:12px;color:#dfb2c0}.plot{font-size:14px;line-height:1.55;min-height:72px;margin:0}.external-link{font-size:12px;display:inline-flex;align-self:flex-start;text-decoration:none;border:1px solid #825063;border-radius:8px;padding:8px 10px}.icon-actions{display:flex;gap:8px;margin-top:auto;padding-top:8px;flex-wrap:wrap}.icon-btn{border:1px solid #9b6577;background:#3c2630;color:#f5dbeb;border-radius:11px;width:47px;height:46px;display:inline-flex;align-items:center;justify-content:center;font-size:23px}.icon-btn.selected.seen{background:#1f704c;border-color:#66d3a4;color:white}.icon-btn.selected.fav{background:#9f385b;border-color:#f4a6c4;color:#fff}.icon-btn.share svg{width:21px;height:21px}.personal-picker{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.personal-picker button{background:transparent;border:0;color:#ffbf54;font-size:23px;padding:0 2px}.personal-picker button:disabled{color:#6d5965}.empty{border:1px dashed #9e6c7f;border-radius:14px;color:#dab7c4;padding:26px}.admin{border-top:1px solid #754352;padding-top:30px}.admin button{margin:0 8px 8px 0}.share-view{max-width:860px;margin:30px auto}.share-card{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start;background:#29141e;border:1px solid #8a5261;border-radius:22px;padding:25px}.share-card img{width:150px;height:210px;object-fit:contain;background:#170c13;border-radius:12px}.share-info{flex:1;min-width:190px}.share-info h1{font:italic 700 clamp(27px,4vw,45px) Georgia,serif;margin:8px 0}dialog{color:#fff;background:#2d2036;border:1px solid #966c85;border-radius:17px;width:min(570px,calc(100vw - 28px));max-height:90dvh;padding:0}dialog::backdrop{background:#090307c9}.modal{padding:22px;display:grid;gap:15px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.modal-head h2{margin:0}.modal-fields{display:grid;gap:13px}.preview{border:1px solid #876076;border-radius:11px;padding:13px;background:#251727}.preview img{width:140px;max-height:160px;object-fit:contain}.preview p{font-size:13px}.preview input{margin:8px 0}.preview .hint{line-height:1.55}.error{font-size:13px}footer{display:none}[hidden]{display:none!important}@media(max-width:900px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}}@media(max-width:540px){.hero{height:142px}.page{padding:12px 12px 80px}.filters{padding:15px}.filter-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.poster-frame{height:150px}.card-body{padding:10px;gap:8px}.card h3{font-size:17px}.plot{font-size:12px}.rating-line .star-text{font-size:17px}.icon-btn{width:39px;height:39px;font-size:19px}.action{padding:12px 14px;font-size:13px}.counters{gap:5px}.counters span{padding:8px 10px;font-size:12px}}


/* Copertine Netflix/Prime: niente ritagli e nessuna fascia nera vuota.
   Lo sfondo riutilizza la stessa immagine solo come riempimento sfumato. */
.poster-frame {
  position:relative; isolation:isolate;
  width:100%; height:auto; aspect-ratio:16 / 10;
  background:radial-gradient(ellipse at center,#382331 0%,#130d14 75%);
  overflow:hidden;
}
.poster-frame .poster-blur {
  position:absolute; inset:-18px; z-index:0;
  width:calc(100% + 36px); height:calc(100% + 36px);
  object-fit:cover; filter:blur(22px) brightness(.52) saturate(.8);
  opacity:.92; pointer-events:none;
}
.poster-frame .poster-main {
  position:relative; z-index:1;
  display:block; width:100%; height:100%; object-fit:contain;
  filter:drop-shadow(0 3px 13px #0008);
}
.poster-frame .poster-placeholder {
  position:relative;z-index:1;padding:18px;
}
.poster-frame [hidden]{display:none!important}
@media(max-width:540px){.poster-frame{height:auto;aspect-ratio:4 / 3}}

/* RESTYLING SCHEDE APPROVATO – 11 novembre 2026 */
.card-body{gap:12px}
.card .rating-line{gap:8px}
.card .rating-line .score-number{font-weight:800;font-size:22px;line-height:1;color:#fff1e9;font-variant-numeric:tabular-nums}
.card .rating-line .star-text{font-size:20px;letter-spacing:0}
.card .rating-line .empty-stars{color:#805d70}
.card .external-link{display:flex;align-self:stretch;justify-content:center;align-items:center;gap:10px;min-height:47px;border:0;border-radius:10px;padding:12px 8px;font-size:14px;font-weight:800;text-align:center;text-decoration:none;color:#fff;box-shadow:0 6px 16px #0003;transition:filter .15s ease}
.card .external-link:hover{filter:brightness(1.12)}
.card .external-link.watch-netflix{background:#e50914;color:white}
.card .external-link.watch-prime{background:#0878b9;color:white}
.card .icon-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;margin-top:auto;padding-top:12px}
.card .icon-actions .icon-btn{width:100%;min-width:0;height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:11px;font-size:21px}
.card .icon-actions .icon-btn .action-icon{display:flex;align-items:center;justify-content:center;min-height:23px;font-size:23px;line-height:1}
.card .icon-actions .icon-btn .action-label{font-size:10px;font-weight:650;line-height:1.1;white-space:nowrap}
.card .icon-actions .icon-btn.share svg{width:22px;height:22px}
.card .icon-actions .action{grid-column:span 2}
@media(max-width:540px){.card .rating-line .score-number{font-size:17px}.card .rating-line .star-text{font-size:17px}.card .external-link{font-size:11px;min-height:42px;gap:4px;padding:9px 5px}.card .icon-actions{gap:3px}.card .icon-actions .icon-btn{height:56px;padding:3px 0;border-radius:8px}.card .icon-actions .icon-btn .action-icon{font-size:19px}.card .icon-actions .icon-btn .action-label{font-size:8px}}

/* V4 — streaming e azioni ancorati al fondo, indipendentemente dalla trama */
.card-body > .plot { margin-bottom: 0; }
.card-footer { display:flex; flex-direction:column; gap:12px; margin-top:auto; width:100%; }
.card-footer .external-link { margin-top:0; width:100%; }
.card-footer .icon-actions { margin-top:0; padding-top:0; width:100%; }
.card-footer > .helper {display:block;min-height:43px;align-content:center;text-align:center;}
.card .personal-picker { margin-top:-6px; }
@media (max-width:540px) { .card-footer { gap:8px; } }

/* V5: only two rating rows; owner/admin may click the same star to clear their rating */
.card .personal-rating{min-height:29px}
.card .personal-rating-stars{display:inline-flex;align-items:center;gap:1px;white-space:nowrap}
.card .rating-star{border:0;background:transparent;color:#856674;cursor:pointer;font:inherit;font-size:23px;line-height:1.1;padding:0 1px;min-width:20px;min-height:28px;display:inline-grid;place-items:center}
.card .rating-star.filled{color:#ffbd48}
.card .rating-star:hover,.card .rating-star:focus-visible{color:#ffd680;outline-offset:2px}
.card .rating-star:focus-visible{outline:2px solid #f4b1be;border-radius:3px}
@media(max-width:540px){.card .rating-star{font-size:18px;min-width:16px;min-height:25px}}

/* V5.1 - Passaggio morbido fra banner cinematografico e pagina.
   La maschera sfuma l'ultimo quarto del banner fino allo sfondo,
   senza modificare il banner originale né introdurre nuove immagini. */
.hero {
  border-bottom: 0;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
}

/* V6: accesso allineato ai comandi principali, anche su smartphone */
.main-actions .account{display:flex;justify-content:center;align-items:center;min-height:0;margin:0;gap:6px}
.main-actions .account .google{min-height:48px;padding:10px 15px}
.main-actions .account .outline{min-height:48px}
@media(max-width:540px){.main-actions{gap:7px}.main-actions .account{width:100%}.main-actions .account .google,.main-actions .account .outline{min-height:43px}}

/* V6.1: pulsante Esci coerente con Aggiungi titolo e Preferiti */
.main-actions .account #logoutBtn {
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px; padding:15px 21px;
  border:1px solid #9a7d9b; border-radius:13px;
  background:linear-gradient(145deg,#5a405e,#463047);
  color:#fff; font-weight:750; line-height:normal;
}
.main-actions .account #logoutBtn[hidden] {display:none!important}
.main-actions .account #logoutBtn:hover {filter:brightness(1.12)}
@media(max-width:540px){
  .main-actions .account #logoutBtn {min-height:43px;padding:12px 14px;font-size:13px}
}


/* V6.2 — Proposte: pulsanti gemelli, entrambi al 50% senza modificare i tasti del catalogo. */
#suggestionsGrid .card .icon-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
  width: 100%;
}
#suggestionsGrid .card .icon-actions > button {
  grid-column: auto;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  margin: 0;
  padding: 11px 8px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 750;
  text-align: center;
  overflow-wrap: anywhere;
}
#suggestionsGrid .card .icon-actions > [data-action="reject"] {
  background: linear-gradient(145deg, #5a405e, #463047);
  border: 1px solid #9a7d9b;
  color: #fff;
}
#suggestionsGrid .card .icon-actions > button:hover { filter: brightness(1.1); }
@media (max-width:540px) {
  #suggestionsGrid .card .icon-actions {gap:6px;}
  #suggestionsGrid .card .icon-actions > button {min-height:58px;font-size:11px;padding:9px 5px;}
}

/* V11 — quattro proposte, navigazione centrata come nel render approvato */
#suggestionsSection .section-heading h2{margin-bottom:0}
#suggestionsSection>.hint{margin:12px 0 14px}
#suggestionsGrid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.suggestions-pager{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:14px;align-items:center;margin:18px 0 22px;min-height:48px}
.pager-side{display:flex;min-width:0}
.pager-left{justify-content:flex-end}.pager-right{justify-content:flex-start}
.pager-pill{border:1px solid #a56b80;border-radius:999px;background:#321621;color:#fff2eb;font-weight:700;font-size:14px;min-height:44px;padding:8px 22px;display:inline-flex;align-items:center;gap:12px;justify-content:center;white-space:nowrap;transition:background .18s,border-color .18s}
.pager-pill span{font-size:24px;font-weight:400;line-height:.75}
.pager-pill:hover,.pager-pill:focus-visible{background:#51263b;border-color:#e7a4bb}
.pager-dots{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin;padding:10px 4px}
.pager-dot{width:12px;height:12px;flex:0 0 12px;padding:0;border:0;border-radius:50%;background:#76515f;opacity:.48;transition:box-shadow .2s,background .2s,opacity .2s,transform .2s}
.pager-dot.is-active{background:#ffe5cf;opacity:1;box-shadow:none;transform:scale(1.08);filter:drop-shadow(0 0 3px rgba(255,229,207,.85)) drop-shadow(0 0 6px rgba(255,202,168,.46))}
.pager-dot:focus-visible{outline:2px solid #ffe5cf;outline-offset:3px}
@media(max-width:1100px){#suggestionsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.suggestions-pager{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:5px;margin:13px 0 16px}.pager-pill{padding:9px 10px;font-size:11px;min-height:38px;gap:3px}.pager-pill span{font-size:20px}.pager-dots{gap:7px}.pager-dot{width:9px;height:9px;flex-basis:9px}#suggestionsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
@media(prefers-reduced-motion:reduce){.pager-pill,.pager-dot{transition:none}}


/* V11.1 — ripristino dei bottoni ovali del layout approvato */
.main-actions { margin: 8px 0 34px; gap: 12px; }
.main-actions .action,
.main-actions .account #logoutBtn,
#suggestionsPager .pager-pill,
#suggestionsGrid .card .icon-actions > button {
  border: 1px solid #a56b80;
  border-radius: 999px;
  background: transparent;
  color: #fff2eb;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  min-height: 44px;
  box-shadow: none;
  transition: background .18s ease, border-color .18s ease;
}
.main-actions .action.primary,
#suggestionsGrid .card .icon-actions > button.action.primary {
  border-color: #a56b80;
  background: transparent;
  color: #fff2eb;
}
.main-actions .action,
.main-actions .account #logoutBtn { padding: 11px 19px; }
.main-actions .action:hover,
.main-actions .account #logoutBtn:hover,
#suggestionsPager .pager-pill:hover,
#suggestionsGrid .card .icon-actions > button:hover {
  background: #52283b;
  border-color: #e7a4bb;
}
/* Due comandi per proposta: dimensioni uguali, stile identico al pager. */
#suggestionsGrid .card .icon-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
}
#suggestionsGrid .card .icon-actions > button {
  padding: 11px 9px;
  width:100%; min-width:0; min-height:52px;
  border-radius:999px;
  font-size: 12px;
  text-align:center;
}
#suggestionsGrid .card .icon-actions > button[data-action="reject"] {
  background: transparent;
  border-color: #a56b80;
}
/* I puntini rimangono centrati, anche quando manca un lato. */
.suggestions-pager { grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr); }
/* La visibilita' HTML ha precedenza su display:grid/inline-flex. */
#suggestionsPager[hidden],
#suggestionsPrev[hidden],
#suggestionsNext[hidden] {display:none!important;}
@media(max-width:600px){
  .main-actions{gap:7px;margin:8px 0 25px}
  .main-actions .action,.main-actions .account #logoutBtn{font-size:12px;padding:10px 12px;min-height:40px}
  #suggestionsGrid .card .icon-actions{gap:6px}
  #suggestionsGrid .card .icon-actions > button{font-size:10px;padding:8px 5px;min-height:48px}
  #suggestionsPager .pager-pill{font-size:11px;min-height:38px;padding:9px 10px}
}
@media(prefers-reduced-motion:reduce){
 .main-actions .action,.main-actions .account #logoutBtn,#suggestionsGrid .card .icon-actions > button{transition:none;}
}

/* V11.3 — contenitore unico per l'intera sezione Novita'.
   Incornicia intestazione, contatore, paginatore e le quattro card,
   senza cambiare l'HTML o le interazioni. */
#suggestionsSection {
  padding: clamp(14px, 1.8vw, 25px);
  border: 1px solid #754357;
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(58, 27, 43, .93), rgba(37, 17, 29, .93));
  box-shadow: 0 14px 38px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255, 220, 231, .035);
}
#suggestionsSection .section-heading {gap:14px;}
#suggestionsSection .suggestions-pager {margin-top:18px;}
@media (max-width: 600px) {
  #suggestionsSection {padding:12px;border-radius:18px;}
  #suggestionsSection .section-heading {gap:8px;}
  #suggestionsSection .suggestions-pager {margin-top:12px;}
}

/* Prime Video: visual logo only. The platform data and filters stay unchanged. */
.platform:has(.prime-video-logo){display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:3px 9px}
.platform .prime-video-logo{display:block;width:74px;height:auto;max-height:31px;object-fit:contain}

/* Netflix: logo visuale soltanto. Non cambiare identificatori, ricerca, filtri o URL. */
.platform:has(.netflix-logo){display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:3px 9px}
.platform .netflix-logo{display:block;width:76px;height:auto;max-height:26px;object-fit:contain}

/* Mobile V15.8: interfaccia a due colonne per i comandi, schede orizzontali.
   Desktop resta invariato. */
@media (max-width:600px) {
  .main-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:10px;
    margin:12px 0 26px;
  }
  .main-actions > .action, .main-actions > .account {min-width:0;width:100%;margin:0;}
  .main-actions > .action {white-space:normal;padding:11px 6px;font-size:clamp(11px,3.3vw,14px);}
  .main-actions .account {display:flex;grid-column:auto;}
  .main-actions .account #logoutBtn,
  .main-actions .account #loginBtn {width:100%;min-width:0;justify-content:center;font-size:clamp(11px,3.3vw,14px);}
  .main-actions > [hidden] {display:none!important;}
  /* Le novità sono un carosello con un solo elemento e navigazione swipe. */
  #suggestionsGrid, #catalogGrid {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
  #suggestionsPager {display:flex;justify-content:center;margin:12px 0 17px;min-height:26px;}
  #suggestionsPager .pager-side {display:none!important;}
  #suggestionsPager .pager-dots {max-width:100%;justify-content:flex-start;gap:9px;padding:8px 12px;}
  #suggestionsGrid {touch-action:pan-y;}
  /* 1/3 poster, 2/3 informazioni. L'immagine mantiene il rapporto originale. */
  #suggestionsGrid .card, #catalogGrid .card {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);
    align-items:stretch;min-width:0;
  }
  #suggestionsGrid .poster-frame, #catalogGrid .poster-frame {
    width:100%;height:auto;aspect-ratio:2 / 3;
    align-self:center;justify-self:center;min-width:0;
    border-radius:0 9px 9px 0;
  }
  #suggestionsGrid .poster-frame .poster-main,#catalogGrid .poster-frame .poster-main {object-fit:contain;}
  #suggestionsGrid .card-body, #catalogGrid .card-body {
    min-width:0;padding:12px 9px;gap:9px;
  }
  #suggestionsGrid .card h3, #catalogGrid .card h3 {
    font-size:clamp(16px,4.7vw,21px);line-height:1.15;overflow-wrap:anywhere;
  }
  #suggestionsGrid .card .plot, #catalogGrid .card .plot {font-size:12px;line-height:1.5;min-height:0;overflow-wrap:anywhere;}
  #suggestionsGrid .card .genre,#catalogGrid .card .genre {font-size:10px;padding:4px 6px;}
  #suggestionsGrid .card .rating-line,#catalogGrid .card .rating-line {gap:4px;}
  #suggestionsGrid .card .rating-line .score-number,#catalogGrid .card .rating-line .score-number {font-size:16px;}
  #suggestionsGrid .card .rating-line .star-text,#catalogGrid .card .rating-line .star-text {font-size:16px;}
  #suggestionsGrid .card .rating-line small,#catalogGrid .card .rating-line small {font-size:10px;}
  #suggestionsGrid .card .rating-star,#catalogGrid .card .rating-star {font-size:19px;min-width:17px;padding:0;}
  #suggestionsGrid .card .card-footer,#catalogGrid .card .card-footer {gap:8px;}
  #suggestionsGrid .card .external-link,#catalogGrid .card .external-link {
    width:100%;font-size:11px;min-height:40px;padding:8px 3px;
  }
  #suggestionsGrid .card .icon-actions {grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;}
  #suggestionsGrid .card .icon-actions > button {min-height:42px;padding:7px 3px;font-size:11px;}
  #catalogGrid .card .icon-actions {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;}
  #catalogGrid .card .icon-actions .icon-btn {height:49px;min-width:0;padding:3px 0;border-radius:8px;}
  #catalogGrid .card .icon-actions .action-icon {font-size:18px;}
  #catalogGrid .card .icon-actions .action-label {font-size:8px;letter-spacing:-.2px;}
}
@media (max-width:360px) {
  #suggestionsGrid .card-body,#catalogGrid .card-body {padding:9px 6px;gap:7px;}
  #suggestionsGrid .card .rating-line .star-text,#catalogGrid .card .rating-line .star-text {font-size:14px;}
  #catalogGrid .card .icon-actions .action-label {font-size:7px;}
}
/* Pagina aperta da un link condiviso: locandina centrata, CTA a larghezza piena */
.share-card {display:flex;flex-direction:column;align-items:stretch;}
.share-card .share-poster {display:flex;justify-content:center;align-items:center;width:100%;}
.share-card .share-poster img {width:auto;height:auto;max-width:min(100%,300px);max-height:410px;object-fit:contain;}
.share-card .share-info {width:100%;min-width:0;}
.share-card .share-watch {
  display:flex;width:100%;min-height:52px;justify-content:center;align-items:center;
  border-radius:12px;padding:13px 10px;margin-top:24px;color:#fff;
  text-decoration:none;font-weight:800;text-align:center;
}
.share-card .share-watch.watch-netflix {background:#e50914;}
.share-card .share-watch.watch-prime {background:#0878b9;}
@media(max-width:600px){.share-card{padding:18px;gap:18px}.share-card .share-poster img{max-width:100%;max-height:330px}}

/* V15.9 — Solo smartphone: CTA e pulsanti a tutta larghezza della scheda.
   Nessuna modifica al markup, ai dati o alla vista desktop. */
@media (max-width: 600px) {
  #suggestionsGrid .card, #catalogGrid .card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,2fr);
    grid-template-rows: repeat(7, auto) auto;
    column-gap: 8px;
    row-gap: 9px;
    align-items: start;
  }
  #suggestionsGrid .card > .poster-frame,
  #catalogGrid .card > .poster-frame {
    grid-column: 1;
    grid-row: 1 / 8;
    align-self: center;
    justify-self: center;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    margin: 0;
    border-radius: 0 9px 9px 0;
  }
  #suggestionsGrid .card > .card-body,
  #catalogGrid .card > .card-body {
    display: contents;
  }
  #suggestionsGrid .card > .card-body > :not(.card-footer),
  #catalogGrid .card > .card-body > :not(.card-footer) {
    grid-column: 2;
    min-width: 0;
    margin-right: 11px;
  }
  #suggestionsGrid .card > .card-body > h3,
  #catalogGrid .card > .card-body > h3 {
    margin-top: 13px;
  }
  #suggestionsGrid .card > .card-body > .card-footer,
  #catalogGrid .card > .card-body > .card-footer {
    grid-column: 1 / -1;
    grid-row: 8;
    width: 100%;
    margin: 4px 0 0;
    padding: 0 12px 13px;
    gap: 9px;
    box-sizing: border-box;
  }
  #suggestionsGrid .card .card-footer > .external-link,
  #catalogGrid .card .card-footer > .external-link {
    display: flex;
    width: 100%;
    min-height: 49px;
    padding: 11px 10px;
    font-size: clamp(12px,3.5vw,15px);
    border-radius: 11px;
  }
  #suggestionsGrid .card .card-footer > .icon-actions,
  #catalogGrid .card .card-footer > .icon-actions {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
  }
  #catalogGrid .card .card-footer > .icon-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  #suggestionsGrid .card .card-footer > .icon-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #catalogGrid .card .card-footer .icon-btn {
    width: 100%;
    min-height: 55px;
    height: auto;
    padding: 7px 3px;
    gap: 4px;
  }
  #catalogGrid .card .card-footer .action-label {
    font-size: clamp(9px,2.7vw,11px);
    letter-spacing: 0;
  }
  #suggestionsGrid .card .card-footer .icon-actions > button {
    width: 100%;
    min-height: 49px;
    font-size: clamp(12px,3.3vw,14px);
  }
}

/* V15.10 — SOLTANTO TABLET (601–1199 px). Nessuna modifica allo smartphone o desktop.
   Due locandine verticali per gruppo, swipe touch e soli puntini. */
@media (min-width:601px) and (max-width:1199px) {
  #catalogGrid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:17px;
  }
  #suggestionsGrid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:17px;
    touch-action:pan-y;
  }
  #suggestionsPager {
    display:flex;
    align-items:center;
    justify-content:center;
    margin:14px 0 20px;
    min-height:30px;
  }
  #suggestionsPager .pager-side,
  #suggestionsPrev,
  #suggestionsNext {display:none!important;}
  #suggestionsPager .pager-dots {
    justify-content:flex-start;
    max-width:100%;
    padding:9px 12px;
  }
}

/* Personal proposals + independent Netflix carousel */
#netflixSection{border:1px solid #744354;background:#281623;border-radius:22px;padding:20px}
#netflixSection .section-heading{align-items:center;gap:12px}
#netflixGrid{grid-template-columns:repeat(4,minmax(0,1fr));}
#netflixGrid .card .icon-actions,#suggestionsGrid .card .icon-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#netflixGrid .card .icon-actions button,#suggestionsGrid .card .icon-actions button{font-size:12px;min-width:0;min-height:44px;padding:8px}
#excludedGrid{display:grid;gap:10px;margin:12px 0}
.excluded-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border:1px solid #774c60;border-radius:12px}
.proposal-tools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:14px 0 24px}
.proposal-tools label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.proposal-tools select{padding:10px 14px;border:1px solid #855467;border-radius:10px;background:#24151e;color:#fff}
@media(max-width:1100px){#netflixGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#netflixGrid{grid-template-columns:minmax(0,1fr)}#netflixSection{padding:12px}#netflixSection .pager-side{display:none}#netflixGrid .card .icon-actions,#suggestionsGrid .card .icon-actions{grid-template-columns:1fr 1fr}}
@media (hover:hover) and (pointer:fine) and (min-width:601px){#netflixPager .pager-side,#suggestionsPager .pager-side{display:flex!important}}
