/* ListaSpesa PRO v80 - estratto dalla v51 */

:root{
      --bg:#f5f6fb;
      --card:#ffffff;
      --text:#111827;
      --muted:#6b7280;
      --purple:#6d28d9;
      --green:#16a34a;
      --red:#ef4444;
      --blue:#2563eb;
      --border:#e5e7eb;
      --shadow:0 14px 35px rgba(17,24,39,.10);
    }

    *{box-sizing:border-box}

    body{
      margin:0;
      background:linear-gradient(180deg,#f2ecff 0%,#f5f6fb 280px);
      color:var(--text);
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
      padding:14px;
    }

    .app{
      max-width:960px;
      margin:0 auto;
      padding-bottom:26px;
    }

    header{
      background:linear-gradient(135deg,#5b21b6,#7c3aed,#2563eb);
      color:white;
      border-radius:26px;
      padding:20px;
      box-shadow:var(--shadow);
      margin-bottom:14px;
    }

    .top{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:flex-start;
    }

    .brand{
      display:flex;
      gap:13px;
      align-items:center;
    }

    .logo{
      width:58px;
      height:58px;
      border-radius:20px;
      background:rgba(255,255,255,.18);
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:32px;
      flex-shrink:0;
    }

    h1{margin:0;font-size:29px}
    .sub{opacity:.86;font-size:14px;margin-top:4px}

    .badge{
      background:rgba(255,255,255,.18);
      border:1px solid rgba(255,255,255,.25);
      border-radius:999px;
      padding:8px 11px;
      font-weight:900;
      font-size:12px;
      white-space:nowrap;
    }

    .userBox{
      margin-top:10px;
      background:rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.18);
      padding:9px 12px;
      border-radius:14px;
      font-weight:900;
      display:inline-flex;
      gap:8px;
      align-items:center;
      flex-wrap:wrap;
    }

    .userBox button{
      background:rgba(255,255,255,.22);
      color:white;
      border:1px solid rgba(255,255,255,.28);
      padding:6px 9px;
      border-radius:999px;
      margin:0;
      font-size:12px;
      cursor:pointer;
    }

    .tabs{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:5px;
      background:#ede9fe;
      border-radius:20px;
      padding:5px;
      margin-bottom:14px;
      position:sticky;
      top:0;
      z-index:5;
    }

    .tab{
      border:0;
      background:transparent;
      color:#5b21b6;
      font-weight:1000;
      border-radius:15px;
      padding:12px 6px;
      cursor:pointer;
    }

    .tab.active{
      background:white;
      box-shadow:0 8px 22px rgba(0,0,0,.08);
    }

    .card{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:24px;
      box-shadow:var(--shadow);
      padding:16px;
      margin-bottom:14px;
    }

    h2{margin:0 0 6px;color:#4c1d95;font-size:23px}
    h3{margin:0 0 12px;color:#4c1d95;font-size:18px}
    p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.35}

    label{
      display:block;
      font-size:12px;
      font-weight:1000;
      text-transform:uppercase;
      letter-spacing:.03em;
      color:#374151;
      margin-bottom:5px;
    }

    input,select,textarea{
      width:100%;
      border:1px solid var(--border);
      border-radius:16px;
      padding:13px;
      font-size:16px;
      background:white;
      outline:none;
      font-family:inherit;
    }

    textarea{min-height:90px;resize:vertical}

    input:focus,select:focus,textarea:focus{
      border-color:var(--purple);
      box-shadow:0 0 0 4px rgba(109,40,217,.12);
    }

    .grid{
      display:grid;
      grid-template-columns:1.1fr .6fr .8fr;
      gap:10px;
    }

    .grid2{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }

    .full{grid-column:1/-1}

    .btn{
      border:0;
      border-radius:17px;
      padding:13px 15px;
      font-weight:1000;
      font-size:15px;
      background:var(--purple);
      color:white;
      cursor:pointer;
      width:100%;
      margin-top:0;
    }

    .btn.green{background:var(--green)}
    .btn.red{background:var(--red)}
    .btn.gray{background:#e5e7eb;color:#111827}
    .btn.blue{background:var(--blue)}

    .actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:12px;
    }

    .actions .btn{
      flex:1;
      min-width:150px;
    }

    .search{margin:12px 0}

    .list{
      display:flex;
      flex-direction:column;
      gap:10px;
    }

    .row{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:11px;
      align-items:center;
      border:1px solid var(--border);
      background:#fff;
      border-radius:19px;
      padding:12px;
    }

    .row.selected{
      background:#f0fdf4;
      border-color:#bbf7d0;
    }

    .row.bought{opacity:.55}
    .row.bought .name{text-decoration:line-through}

    .emoji{
      font-size:28px;
      width:44px;
      text-align:center;
    }

    .thumb{
      width:44px;
      height:44px;
      border-radius:14px;
      object-fit:cover;
      border:1px solid var(--border);
      background:#f3f4f6;
    }

    .name{
      font-weight:1000;
      font-size:16px;
    }

    .meta{
      font-size:13px;
      color:var(--muted);
      margin-top:4px;
      line-height:1.35;
    }

    .price{
      font-weight:1000;
      color:#166534;
      margin-top:5px;
      font-size:14px;
    }

    .pill{
      display:inline-block;
      border-radius:999px;
      padding:4px 9px;
      font-size:12px;
      font-weight:900;
      background:#ede9fe;
      color:#5b21b6;
      margin-top:6px;
    }

    .desc{
      margin-top:8px;
      color:#475569;
      font-size:13px;
      line-height:1.35;
      background:#f8fafc;
      border:1px solid #e2e8f0;
      border-radius:12px;
      padding:8px;
    }

    .link{
      display:inline-block;
      margin-top:6px;
      color:#2563eb;
      font-weight:900;
      font-size:13px;
      text-decoration:none;
    }

    .check{
      width:31px;
      height:31px;
      border-radius:10px;
      border:2px solid #9ca3af;
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:1000;
      cursor:pointer;
    }

    .selected .check{
      background:var(--green);
      border-color:var(--green);
      color:white;
    }

    .mini{
      border:0;
      border-radius:13px;
      padding:9px 10px;
      font-weight:1000;
      background:#f3f4f6;
      color:#111827;
      cursor:pointer;
      margin:2px;
    }

    .mini.green{background:#dcfce7;color:#166534}
    .mini.red{background:#fee2e2;color:#b91c1c}
    .mini.purple{background:#ede9fe;color:#5b21b6}

    .routeBlock{
      border-left:6px solid var(--purple);
      padding-left:13px;
      margin:14px 0;
    }

    .routeTitle{
      font-weight:1000;
      margin-bottom:8px;
      font-size:17px;
    }

    .routeItem{
      background:#fafafa;
      border:1px solid var(--border);
      border-radius:16px;
      padding:12px;
      margin:8px 0;
    }

    .empty{
      text-align:center;
      color:var(--muted);
      padding:28px;
      line-height:1.45;
    }

    .totalBox{
      background:linear-gradient(135deg,#16a34a,#22c55e);
      color:white;
      border-radius:22px;
      padding:16px;
      margin:14px 0;
      box-shadow:var(--shadow);
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
    }

    .totalBox .label{
      font-weight:900;
      font-size:15px;
      opacity:.9;
    }

    .totalBox .amount{
      font-weight:1000;
      font-size:28px;
    }

    .toast{
      position:fixed;
      left:50%;
      bottom:28px;
      transform:translateX(-50%);
      background:#111827;
      color:white;
      padding:12px 16px;
      border-radius:999px;
      font-weight:900;
      display:none;
      z-index:20;
    }

    .overlay{
      position:fixed;
      inset:0;
      background:rgba(17,24,39,.65);
      display:none;
      align-items:center;
      justify-content:center;
      z-index:99;
      padding:16px;
    }

    .chooser{
      background:white;
      border-radius:26px;
      box-shadow:0 25px 80px rgba(0,0,0,.25);
      padding:20px;
      max-width:600px;
      width:100%;
      max-height:90vh;
      overflow:auto;
    }

    .choice{
      width:100%;
      border:1px solid var(--border);
      background:#fff;
      border-radius:18px;
      padding:15px;
      margin:8px 0;
      text-align:left;
      font-weight:1000;
      font-size:16px;
      cursor:pointer;
      color:#111827;
    }

    .choice small{
      display:block;
      color:var(--muted);
      font-weight:700;
      margin-top:4px;
    }

    .preview{
      display:none;
      margin-top:8px;
      max-width:110px;
      border-radius:16px;
      border:1px solid var(--border);
    }


    .homeGrid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
      margin-bottom:14px;
    }

    .homeTile{
      min-height:150px;
      border:0;
      border-radius:28px;
      padding:20px;
      background:white;
      box-shadow:var(--shadow);
      border:1px solid var(--border);
      color:#111827;
      text-align:left;
      cursor:pointer;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }

    .homeTileIcon{
      font-size:38px;
      margin-bottom:12px;
    }

    .homeTileTitle{
      font-size:22px;
      font-weight:1000;
      color:#4c1d95;
    }

    .homeTileText{
      font-size:14px;
      color:var(--muted);
      line-height:1.35;
      margin-top:6px;
    }

    .sectionTop{
      display:flex;
      justify-content:space-between;
      gap:10px;
      align-items:center;
      margin-bottom:14px;
    }

    .backHome{
      border:0;
      background:#ede9fe;
      color:#5b21b6;
      font-weight:1000;
      border-radius:999px;
      padding:10px 14px;
      cursor:pointer;
      white-space:nowrap;
    }

    .productChoiceGrid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }

    .productChoice{
      min-height:150px;
      border:1px solid var(--border);
      background:white;
      box-shadow:var(--shadow);
      border-radius:26px;
      padding:20px;
      text-align:left;
      cursor:pointer;
    }

    .productChoice strong{
      display:block;
      color:#4c1d95;
      font-size:21px;
      margin-top:10px;
    }

    .productChoice span{
      display:block;
      color:var(--muted);
      margin-top:6px;
      font-size:14px;
      line-height:1.35;
    }


    .statsGrid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin-bottom:14px;
    }

    .statCard{
      background:white;
      border:1px solid var(--border);
      border-radius:22px;
      box-shadow:var(--shadow);
      padding:16px;
    }

    .statCard .statLabel{
      color:var(--muted);
      font-weight:900;
      font-size:13px;
      margin-bottom:6px;
    }

    .statCard .statValue{
      color:#4c1d95;
      font-weight:1000;
      font-size:25px;
    }

    .statsTable{
      width:100%;
      border-collapse:separate;
      border-spacing:0 8px;
      font-size:14px;
    }

    .statsTable th{
      text-align:left;
      color:#6b7280;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.03em;
      padding:0 8px;
    }

    .statsTable td{
      background:#fff;
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
      padding:10px 8px;
      vertical-align:top;
    }

    .statsTable td:first-child{
      border-left:1px solid var(--border);
      border-radius:14px 0 0 14px;
      font-weight:1000;
    }

    .statsTable td:last-child{
      border-right:1px solid var(--border);
      border-radius:0 14px 14px 0;
    }

    .smallMuted{
      color:var(--muted);
      font-size:12px;
      margin-top:4px;
      line-height:1.3;
    }


    .advancedChoiceGrid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
      margin-bottom:14px;
    }

    .advancedChoice{
      min-height:145px;
      border:1px solid var(--border);
      background:white;
      box-shadow:var(--shadow);
      border-radius:26px;
      padding:20px;
      text-align:left;
      cursor:pointer;
    }

    .advancedChoice strong{
      display:block;
      color:#4c1d95;
      font-size:21px;
      margin-top:10px;
    }

    .advancedChoice span{
      display:block;
      color:var(--muted);
      margin-top:6px;
      font-size:14px;
      line-height:1.35;
    }


    .cartRouteBox{
      margin-top:16px;
      border-top:1px solid var(--border);
      padding-top:14px;
    }

    .cartRouteBox h3{
      margin-top:0;
    }

    .dateGroup{
      background:white;
      border:1px solid var(--border);
      border-radius:20px;
      box-shadow:var(--shadow);
      padding:14px;
      margin-bottom:12px;
    }

    .dateGroupTitle{
      display:flex;
      justify-content:space-between;
      gap:10px;
      align-items:center;
      font-weight:1000;
      color:#4c1d95;
      margin-bottom:10px;
    }

    .dateItem{
      display:flex;
      justify-content:space-between;
      gap:10px;
      border-top:1px solid #eef2f7;
      padding:9px 0;
      font-size:14px;
    }


    .qtyBox{
      margin-top:8px;
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }

    .qtyBox label{
      margin:0;
      font-size:12px;
      color:#374151;
    }

    .qtyBox input{
      width:82px;
      padding:8px;
      border-radius:12px;
      font-weight:900;
      text-align:center;
    }


    .qtyStepper{
      margin-top:8px;
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }

    .qtyBtn{
      width:34px;
      height:34px;
      border:0;
      border-radius:12px;
      background:#ede9fe;
      color:#5b21b6;
      font-size:20px;
      font-weight:1000;
      cursor:pointer;
    }

    .qtyValue{
      min-width:34px;
      height:34px;
      border-radius:12px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:#f8fafc;
      border:1px solid var(--border);
      font-weight:1000;
    }

    .calendarBox{
      background:white;
      border:1px solid var(--border);
      border-radius:24px;
      box-shadow:var(--shadow);
      padding:14px;
      margin-bottom:14px;
    }

    .calendarHeader{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      margin-bottom:12px;
    }

    .calendarTitle{
      font-weight:1000;
      color:#4c1d95;
      font-size:18px;
      text-transform:capitalize;
    }

    .calendarNav{
      border:0;
      background:#ede9fe;
      color:#5b21b6;
      border-radius:12px;
      padding:9px 12px;
      font-weight:1000;
      cursor:pointer;
    }

    .calendarGrid{
      display:grid;
      grid-template-columns:repeat(7,1fr);
      gap:6px;
    }

    .calendarDayName{
      text-align:center;
      font-size:12px;
      font-weight:1000;
      color:#64748b;
      padding:6px 0;
    }

    .calendarDay{
      min-height:46px;
      border:1px solid #e5e7eb;
      background:#f8fafc;
      border-radius:14px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:900;
      color:#94a3b8;
    }

    .calendarDay.active{
      background:#ede9fe;
      color:#5b21b6;
      border-color:#c4b5fd;
      cursor:pointer;
      position:relative;
    }

    .calendarDay.active::after{
      content:"";
      width:7px;
      height:7px;
      background:#16a34a;
      border-radius:999px;
      position:absolute;
      bottom:6px;
      left:50%;
      transform:translateX(-50%);
    }

    .calendarDay.selected{
      background:#6d28d9;
      color:white;
      border-color:#6d28d9;
    }

    .calendarDay.emptyCell{
      background:transparent;
      border:0;
    }

    .dailyDetail{
      margin-top:12px;
    }


    .topMenu{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:5px;
      background:#ede9fe;
      border-radius:20px;
      padding:5px;
      margin-bottom:14px;
      position:sticky;
      top:0;
      z-index:20;
      box-shadow:0 8px 22px rgba(0,0,0,.06);
    }

    .topMenuBtn{
      border:0;
      background:transparent;
      color:#5b21b6;
      font-weight:1000;
      border-radius:15px;
      padding:11px 5px;
      cursor:pointer;
      font-size:13px;
    }

    .topMenuBtn.active{
      background:white;
      box-shadow:0 8px 22px rgba(0,0,0,.08);
    }


    .marketList{
      display:flex;
      flex-direction:column;
      gap:8px;
      margin-top:12px;
    }

    .marketItem{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      background:#f8fafc;
      border:1px solid var(--border);
      border-radius:15px;
      padding:10px 12px;
      font-weight:900;
    }


    .headerInfo{
      margin-top:10px;
      display:flex;
      flex-direction:column;
      gap:7px;
      align-items:flex-start;
    }

    .headerLine{
      background:rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.18);
      padding:8px 10px;
      border-radius:14px;
      font-weight:900;
      display:inline-flex;
      gap:8px;
      align-items:center;
      flex-wrap:wrap;
    }

    .headerLine button{
      background:rgba(255,255,255,.22);
      color:white;
      border:1px solid rgba(255,255,255,.28);
      padding:6px 9px;
      border-radius:999px;
      margin:0;
      font-size:12px;
      cursor:pointer;
      font-weight:900;
    }

    @media(max-width:720px){
      body{padding:11px}
      .grid,.grid2{grid-template-columns:1fr}
      .actions{flex-direction:column}
      .topMenuBtn{font-size:11px;padding:10px 2px}
      h1{font-size:25px}
      .badge{display:none}
      .row{grid-template-columns:auto 1fr}
      .row > div:last-child{grid-column:1/-1}
      .totalBox{align-items:flex-start;flex-direction:column}
      .homeGrid,.productChoiceGrid,.statsGrid,.advancedChoiceGrid{grid-template-columns:1fr}
      .statsTable{font-size:12px}
    }
  
    .brand{
      display:flex !important;
      align-items:flex-start !important;
      gap:14px !important;
      width:100%;
    }

    .logo{
      width:60px !important;
      height:60px !important;
      min-width:60px !important;
      border-radius:18px !important;
      margin-top:0 !important;
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      font-size:32px !important;
    }

    .titleArea{
      flex:1;
      min-width:0;
    }

    .titleArea h1{
      margin:0 !important;
      line-height:1.05 !important;
    }

    .titleArea .sub{
      margin-top:6px !important;
      line-height:1.25 !important;
    }

    .headerInfo{
      margin-top:14px !important;
      display:flex !important;
      flex-direction:column !important;
      gap:8px !important;
      align-items:stretch !important;
      width:100%;
    }

    .headerLine{
      width:100%;
      justify-content:flex-start;
    }

    .headerLine span{
      font-weight:1000;
    }

    .headerLine button{
      margin-left:auto !important;
      white-space:nowrap;
    }

    @media(max-width:720px){
      .brand{
        gap:12px !important;
      }

      .logo{
        width:56px !important;
        height:56px !important;
        min-width:56px !important;
        font-size:29px !important;
        border-radius:17px !important;
      }

      .titleArea h1{
        font-size:27px !important;
      }

      .headerLine{
        font-size:16px;
      }

      .headerLine button{
        font-size:13px !important;
        padding:8px 10px !important;
      }
    }

  
    .top{
      align-items:flex-start !important;
    }

    @media(max-width:720px){
      header{
        padding:18px !important;
      }

      .top{
        display:block !important;
      }
    }

  
    .calendarBox{
      max-width:420px;
      margin:0 auto 14px auto !important;
      padding:10px !important;
      border-radius:18px !important;
    }

    .calendarHeader{
      margin-bottom:8px !important;
    }

    .calendarTitle{
      font-size:15px !important;
    }

    .calendarNav{
      padding:6px 9px !important;
      border-radius:10px !important;
      font-size:13px !important;
    }

    .calendarGrid{
      gap:4px !important;
    }

    .calendarDayName{
      font-size:10px !important;
      padding:3px 0 !important;
    }

    .calendarDay{
      min-height:34px !important;
      border-radius:10px !important;
      font-size:12px !important;
    }

    .calendarDay.active::after{
      width:5px !important;
      height:5px !important;
      bottom:4px !important;
    }

  
    /* FIX HEADER v16 */
    header .brand{
      width:100% !important;
      align-items:flex-start !important;
    }

    header .titleArea{
      flex:1 !important;
      width:100% !important;
      min-width:0 !important;
    }

    header .headerInfo{
      width:100% !important;
      max-width:none !important;
      align-items:stretch !important;
    }

    header .headerLine{
      width:100% !important;
      max-width:none !important;
      display:flex !important;
      align-items:center !important;
      justify-content:flex-start !important;
      flex-wrap:nowrap !important;
      gap:8px !important;
      padding:8px 10px !important;
    }

    header .headerLine span{
      white-space:nowrap !important;
      flex-shrink:0 !important;
    }

    header .headerLine button{
      margin-left:auto !important;
      white-space:nowrap !important;
      flex-shrink:0 !important;
      min-width:max-content !important;
    }

    @media(max-width:720px){
      header .headerLine{
        font-size:15px !important;
      }

      header .headerLine button{
        font-size:12px !important;
        padding:7px 8px !important;
      }
    }

    @media(max-width:390px){
      header .headerLine{
        font-size:13px !important;
        gap:5px !important;
      }

      header .headerLine button{
        font-size:11px !important;
        padding:6px 7px !important;
      }
    }

    /* FIX SEZIONI: una sola pagina visibile */
    .app > section{
      display:none;
    }

    .app > section#home{
      display:block;
    }

  
    /* FIX STATISTICHE TILES */
    #stats .subMenu{
      align-items:stretch !important;
    }

    #stats .subTile{
      min-height:150px !important;
      display:flex !important;
      flex-direction:column !important;
      justify-content:flex-start !important;
      gap:8px !important;
    }

    #stats .homeTileIcon{
      text-align:center !important;
      font-size:34px !important;
      margin-bottom:6px !important;
    }

    #stats .subTile strong{
      display:block !important;
      margin-top:0 !important;
      line-height:1.15 !important;
    }

    #stats .subTile span{
      display:block !important;
      line-height:1.3 !important;
    }

  
    /* FIX CALENDARIO COMPATTO */
    #purchaseCalendar .calendarBox,
    #plannedDateCalendar .calendarBox{
      max-width:360px !important;
      margin-left:auto !important;
      margin-right:auto !important;
      padding:10px !important;
    }

    #purchaseCalendar .calendarDay,
    #plannedDateCalendar .calendarDay{
      min-height:32px !important;
      border-radius:9px !important;
      font-size:12px !important;
    }

  
    /* ===== FIX MOBILE DEFINITIVO v17 ===== */
    html, body{
      max-width:100% !important;
      overflow-x:hidden !important;
    }

    .app{
      width:100% !important;
      max-width:960px !important;
      overflow-x:hidden !important;
    }

    header{
      overflow:hidden !important;
    }

    header .top{
      display:block !important;
      width:100% !important;
    }

    header .brand{
      display:block !important;
      width:100% !important;
    }

    .headerTitleRow{
      display:flex !important;
      align-items:center !important;
      gap:14px !important;
      width:100% !important;
      min-width:0 !important;
    }

    .headerTitleRow .logo{
      width:58px !important;
      height:58px !important;
      min-width:58px !important;
      flex:0 0 58px !important;
      margin:0 !important;
    }

    .headerTitleText{
      flex:1 !important;
      min-width:0 !important;
    }

    .headerTitleText h1{
      margin:0 !important;
      line-height:1.05 !important;
      white-space:normal !important;
    }

    .headerTitleText .sub{
      margin-top:6px !important;
      line-height:1.25 !important;
      white-space:normal !important;
    }

    header .headerInfo{
      width:100% !important;
      margin-top:14px !important;
      display:flex !important;
      flex-direction:column !important;
      gap:8px !important;
      align-items:stretch !important;
    }

    header .headerLine{
      width:100% !important;
      max-width:100% !important;
      display:grid !important;
      grid-template-columns:auto 1fr auto !important;
      align-items:center !important;
      gap:7px !important;
      padding:8px 10px !important;
      overflow:hidden !important;
      flex-wrap:nowrap !important;
    }

    header .headerLine span{
      min-width:0 !important;
      overflow:hidden !important;
      text-overflow:ellipsis !important;
      white-space:nowrap !important;
    }

    header .headerLine button{
      margin-left:0 !important;
      white-space:nowrap !important;
      flex-shrink:0 !important;
      min-width:auto !important;
      max-width:100% !important;
      font-size:12px !important;
      padding:7px 9px !important;
    }

    .topMenu, .mainMenu{
      width:100% !important;
      max-width:100% !important;
      overflow:hidden !important;
    }

    .homeGrid{
      width:100% !important;
      overflow:hidden !important;
    }

    .homeTile,
    .subTile,
    .card,
    .statCard{
      max-width:100% !important;
      overflow:hidden !important;
    }

    #stats .subMenu{
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:12px !important;
      width:100% !important;
    }

    #stats .subTile{
      width:100% !important;
      min-height:130px !important;
      background:#fff !important;
      border:1px solid var(--border) !important;
      box-shadow:var(--shadow) !important;
      text-align:left !important;
      display:block !important;
      padding:18px !important;
      border-radius:24px !important;
    }

    #stats .homeTileIcon{
      text-align:left !important;
      font-size:30px !important;
      margin:0 0 10px 0 !important;
      display:block !important;
    }

    #stats .subTile strong{
      display:block !important;
      margin:0 0 6px 0 !important;
      font-size:21px !important;
      line-height:1.15 !important;
      color:#4c1d95 !important;
    }

    #stats .subTile span{
      display:block !important;
      font-size:14px !important;
      line-height:1.35 !important;
      color:var(--muted) !important;
    }

    .statsTable{
      min-width:620px !important;
      width:620px !important;
    }

    #productStats,
    #categoryStats{
      width:100% !important;
      max-width:100% !important;
      overflow-x:auto !important;
      -webkit-overflow-scrolling:touch !important;
      padding-bottom:6px !important;
    }

    #productStats .statsTable,
    #categoryStats .statsTable{
      display:table !important;
    }

    #productStats::after,
    #categoryStats::after{
      content:"Scorri la tabella lateralmente";
      display:block;
      font-size:12px;
      color:#6b7280;
      margin-top:6px;
    }

    #purchaseCalendar .calendarBox,
    #plannedDateCalendar .calendarBox{
      width:100% !important;
      max-width:340px !important;
      overflow:hidden !important;
    }

    @media(max-width:720px){
      body{
        padding:11px !important;
      }

      header{
        padding:18px !important;
      }

      .headerTitleRow{
        gap:12px !important;
      }

      .headerTitleRow .logo{
        width:54px !important;
        height:54px !important;
        min-width:54px !important;
        flex-basis:54px !important;
      }

      .headerTitleText h1{
        font-size:28px !important;
      }

      .headerTitleText .sub{
        font-size:15px !important;
      }

      header .headerLine{
        grid-template-columns:auto minmax(0,1fr) auto !important;
        font-size:15px !important;
      }

      header .headerLine button{
        font-size:11px !important;
        padding:7px 8px !important;
      }

      .topMenuBtn,
      .mainMenu button{
        font-size:12px !important;
      }

      .statsGrid{
        grid-template-columns:1fr !important;
      }
    }

    @media(max-width:390px){
      .headerTitleText h1{
        font-size:24px !important;
      }

      .headerTitleText .sub{
        font-size:13px !important;
      }

      header .headerLine{
        font-size:13px !important;
        gap:5px !important;
      }

      header .headerLine button{
        font-size:10px !important;
        padding:6px 6px !important;
      }
    }

  
    .marketActions{
      display:flex;
      gap:6px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .marketItem .pill{
      margin-left:6px;
    }

    @media(max-width:720px){
      .marketItem{
        align-items:flex-start !important;
        flex-direction:column !important;
      }

      .marketActions{
        width:100%;
        justify-content:flex-start;
      }
    }

  
    .backBtn{
      font-weight:1000 !important;
      font-family:inherit !important;
    }

    .marketRadioList{
      display:flex;
      flex-direction:column;
      gap:10px;
      margin-top:14px;
    }

    .marketRadioItem{
      width:100%;
      display:flex;
      align-items:center;
      gap:12px;
      border:1px solid var(--border);
      background:#f8fafc;
      border-radius:18px;
      padding:13px 14px;
      font-weight:1000;
      cursor:pointer;
      color:#111827;
      text-align:left;
    }

    .marketRadioDot{
      width:22px;
      height:22px;
      border-radius:999px;
      border:3px solid #c4b5fd;
      background:white;
      flex:0 0 22px;
      position:relative;
    }

    .marketRadioItem.active{
      background:#ede9fe;
      border-color:#8b5cf6;
      color:#4c1d95;
    }

    .marketRadioItem.active .marketRadioDot{
      border-color:#6d28d9;
    }

    .marketRadioItem.active .marketRadioDot::after{
      content:"";
      width:10px;
      height:10px;
      border-radius:999px;
      background:#6d28d9;
      position:absolute;
      top:50%;
      left:50%;
      transform:translate(-50%,-50%);
    }

    .marketRadioName{
      flex:1;
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

    .marketRadioActions{
      display:flex;
      gap:6px;
      flex-shrink:0;
    }

    @media(max-width:720px){
      .marketRadioItem{
        padding:12px;
      }

      .marketRadioActions{
        flex-direction:column;
      }
    }

  
    .marketCloudList{
      display:flex;
      flex-direction:column;
      gap:10px;
      margin-top:14px;
    }

    .marketCloudItem{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      border:1px solid var(--border);
      background:#f8fafc;
      border-radius:18px;
      padding:13px 14px;
      font-weight:1000;
      color:#111827;
    }

    .marketCloudItem.active{
      background:#ede9fe;
      border-color:#8b5cf6;
      color:#4c1d95;
    }

    .marketCloudLeft{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:0;
      flex:1;
    }

    .marketCheck{
      width:24px;
      height:24px;
      border-radius:999px;
      border:2px solid #c4b5fd;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 24px;
      font-size:15px;
      background:white;
    }

    .marketCloudItem.active .marketCheck{
      background:#6d28d9;
      border-color:#6d28d9;
      color:white;
    }

    .marketCloudName{
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

    .marketCloudActions{
      display:flex;
      gap:6px;
      flex-shrink:0;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    @media(max-width:720px){
      .marketCloudItem{
        align-items:flex-start;
        flex-direction:column;
      }

      .marketCloudActions{
        width:100%;
        justify-content:flex-start;
      }
    }


    /* ===== SUPERMERCATI A BANDIERA v22 ===== */
    .marketFlagList{
      display:flex;
      flex-direction:column;
      gap:10px;
      margin-top:14px;
    }

    .marketFlagItem{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      border:1px solid var(--border);
      background:#f8fafc;
      border-radius:18px;
      padding:13px 14px;
      font-weight:1000;
      color:#111827;
      text-align:left;
      cursor:pointer;
      box-shadow:0 6px 18px rgba(17,24,39,.04);
    }

    .marketFlagItem.active{
      background:#ede9fe;
      border-color:#8b5cf6;
      color:#4c1d95;
    }

    .marketFlagLeft{
      display:flex;
      align-items:center;
      gap:11px;
      min-width:0;
      flex:1;
    }

    .marketFlagDot{
      width:24px;
      height:24px;
      border-radius:999px;
      border:3px solid #c4b5fd;
      background:white;
      flex:0 0 24px;
      position:relative;
    }

    .marketFlagItem.active .marketFlagDot{
      border-color:#6d28d9;
    }

    .marketFlagItem.active .marketFlagDot::after{
      content:"";
      width:10px;
      height:10px;
      border-radius:999px;
      background:#6d28d9;
      position:absolute;
      top:50%;
      left:50%;
      transform:translate(-50%,-50%);
    }

    .marketFlagName{
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
      font-size:16px;
    }

    .marketFlagActions{
      display:flex;
      gap:6px;
      flex-shrink:0;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    @media(max-width:720px){
      .marketFlagItem{
        align-items:flex-start;
        flex-direction:column;
      }

      .marketFlagActions{
        width:100%;
        justify-content:flex-start;
      }

      .marketFlagLeft{
        width:100%;
      }
    }


    /* ===== ICONA REALE NEL TOP v24 ===== */
    .logo{
      overflow:hidden !important;
      background:rgba(255,255,255,.18) !important;
      padding:0 !important;
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
    }

    .logo img,
    .logoBox img,
    .appIcon img{
      width:100% !important;
      height:100% !important;
      object-fit:cover !important;
      display:block !important;
      border-radius:inherit !important;
    }

    .headerTitleRow .logo img{
      width:100% !important;
      height:100% !important;
      object-fit:cover !important;
    }


    /* ===== BOTTONI RITORNO UNIFORMI v25 ===== */
    .backBtn,
    .sectionTop .backBtn,
    button.backBtn{
      background:#ede9fe !important;
      color:#5b21b6 !important;
      border:0 !important;
      border-radius:999px !important;
      padding:10px 16px !important;
      min-height:42px !important;
      font-size:15px !important;
      font-weight:1000 !important;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
      line-height:1 !important;
      letter-spacing:0 !important;
      box-shadow:0 8px 22px rgba(91,33,182,.08) !important;
      display:inline-flex !important;
      align-items:center !important;
      justify-content:center !important;
      gap:6px !important;
      white-space:nowrap !important;
      cursor:pointer !important;
      text-decoration:none !important;
    }

    .backBtn:hover,
    .sectionTop .backBtn:hover{
      background:#ddd6fe !important;
      color:#4c1d95 !important;
    }

    .sectionTop{
      display:flex !important;
      justify-content:space-between !important;
      align-items:center !important;
      gap:12px !important;
    }

    .sectionTop h2{
      margin:0 !important;
      flex:1 !important;
      min-width:0 !important;
    }

    @media(max-width:720px){
      .backBtn,
      .sectionTop .backBtn,
      button.backBtn{
        font-size:14px !important;
        padding:9px 14px !important;
        min-height:40px !important;
      }
    }


    /* ===== COMPLETA SPESA VISIBILE v27 ===== */
    .completeShoppingBox{
      margin:18px 0;
      padding:16px;
      border-radius:24px;
      background:#ecfdf5;
      border:1px solid #bbf7d0;
      box-shadow:0 10px 24px rgba(22,163,74,.10);
    }

    .completeShoppingBox h3{
      margin:0 0 8px;
      color:#166534;
    }

    .completeShoppingHint{
      color:#166534;
      font-size:14px;
      line-height:1.35;
      margin:8px 0 0;
    }

    .btn.complete{
      width:100%;
      background:linear-gradient(135deg,#16a34a,#22c55e) !important;
      color:white !important;
      font-size:18px !important;
      min-height:56px !important;
      border-radius:18px !important;
      font-weight:1000 !important;
      box-shadow:0 14px 30px rgba(22,163,74,.25) !important;
    }

    .btn.complete:disabled{
      background:#d1d5db !important;
      color:#6b7280 !important;
      box-shadow:none !important;
      cursor:not-allowed !important;
    }


    /* ===== v28 MODALITÀ SPESA COMPLETA ===== */
    .shoppingModeBox{margin:16px 0;padding:16px;border-radius:24px;background:#f5f3ff;border:1px solid #ddd6fe;box-shadow:0 10px 24px rgba(91,33,182,.08);}
    .shoppingModeHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
    .shoppingModeHeader h3{margin:0;color:#4c1d95;}
    .modeToggle{border:0;background:#ede9fe;color:#5b21b6;border-radius:999px;padding:10px 14px;font-weight:1000;cursor:pointer;white-space:nowrap;}
    .modeToggle.active{background:#16a34a;color:white;}
    .shoppingProgress{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-top:10px;}
    .shoppingProgressBar{height:100%;width:0%;background:linear-gradient(135deg,#16a34a,#22c55e);border-radius:999px;transition:.2s ease;}
    .shoppingModeStats{margin-top:8px;color:#6b7280;font-size:13px;font-weight:800;}
    .storeList{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
    .storeItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-radius:20px;border:1px solid var(--border);background:white;box-shadow:0 8px 22px rgba(17,24,39,.05);}
    .storeItem.bought{background:#ecfdf5;border-color:#bbf7d0;}
    .storeItem.bought .storeName{text-decoration:line-through;color:#166534;}
    .storeMain{display:flex;align-items:center;gap:12px;min-width:0;flex:1;cursor:pointer;}
    .storeCheck{width:36px;height:36px;border-radius:999px;border:3px solid #c4b5fd;background:white;color:#16a34a;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:1000;flex:0 0 36px;cursor:pointer;}
    .storeItem.bought .storeCheck{background:#16a34a;border-color:#16a34a;color:white;}
    .storeText{min-width:0;}
    .storeName{font-size:18px;font-weight:1000;color:#111827;line-height:1.15;}
    .storeMeta{margin-top:4px;color:#6b7280;font-size:13px;font-weight:800;}
    .storePrice{font-weight:1000;color:#4c1d95;white-space:nowrap;}
    .completeShoppingBox{margin:18px 0;padding:16px;border-radius:24px;background:#ecfdf5;border:1px solid #bbf7d0;box-shadow:0 10px 24px rgba(22,163,74,.10);}
    .completeShoppingBox h3{margin:0 0 8px;color:#166534;}
    .completeShoppingHint{color:#166534;font-size:14px;line-height:1.35;margin:8px 0 0;}
    .btn.complete{width:100%;background:linear-gradient(135deg,#16a34a,#22c55e) !important;color:white !important;font-size:18px !important;min-height:56px !important;border-radius:18px !important;font-weight:1000 !important;box-shadow:0 14px 30px rgba(22,163,74,.25) !important;}
    .btn.complete:disabled{background:#d1d5db !important;color:#6b7280 !important;box-shadow:none !important;cursor:not-allowed !important;}
    .createMarketFlagBox{margin:10px 0 12px;display:flex;flex-direction:column;gap:8px;}
    .createMarketFlag{width:100%;border:1px solid var(--border);background:#f8fafc;color:#111827;border-radius:16px;padding:12px 14px;display:flex;align-items:center;gap:10px;font-weight:1000;text-align:left;cursor:pointer;}
    .createMarketFlag.active{background:#ede9fe;border-color:#8b5cf6;color:#4c1d95;}
    .createMarketDot{width:22px;height:22px;border-radius:999px;border:3px solid #c4b5fd;background:white;position:relative;flex:0 0 22px;}
    .createMarketFlag.active .createMarketDot{border-color:#6d28d9;}
    .createMarketFlag.active .createMarketDot::after{content:"";width:10px;height:10px;border-radius:999px;background:#6d28d9;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
    .createMarketName{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    @media(max-width:720px){.storeItem{padding:13px}.storeName{font-size:17px}.shoppingModeHeader{align-items:flex-start;flex-direction:column}.modeToggle{width:100%;}}


    /* ===== v29 CARRELLO PULITO ===== */
    .shoppingModeBox,
    #storeModeList{
      display:none !important;
    }

    .completeShoppingBox{
      margin:18px 0;
      padding:16px;
      border-radius:24px;
      background:#ecfdf5;
      border:1px solid #bbf7d0;
      box-shadow:0 10px 24px rgba(22,163,74,.10);
    }

    .completeShoppingBox h3{
      margin:0 0 8px;
      color:#166534;
    }

    .completeShoppingHint{
      color:#166534;
      font-size:14px;
      line-height:1.35;
      margin:8px 0 0;
    }

    .btn.complete{
      width:100%;
      background:linear-gradient(135deg,#16a34a,#22c55e) !important;
      color:white !important;
      font-size:18px !important;
      min-height:56px !important;
      border-radius:18px !important;
      font-weight:1000 !important;
      box-shadow:0 14px 30px rgba(22,163,74,.25) !important;
    }

    .btn.complete:disabled{
      background:#d1d5db !important;
      color:#6b7280 !important;
      box-shadow:none !important;
      cursor:not-allowed !important;
    }


    /* ===== v30 CARRELLO CORRETTO ===== */
    .cartCorrectList{display:flex;flex-direction:column;gap:12px;margin-top:14px;}
    .cartCorrectItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:22px;border:1px solid var(--border);background:white;box-shadow:0 8px 22px rgba(17,24,39,.05);}
    .cartCorrectItem.bought{background:#ecfdf5;border-color:#bbf7d0;}
    .cartCorrectLeft{display:flex;align-items:center;gap:12px;min-width:0;flex:1;}
    .boughtToggle{width:38px;height:38px;border-radius:999px;border:3px solid #c4b5fd;background:white;color:white;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:1000;flex:0 0 38px;cursor:pointer;padding:0;}
    .cartCorrectItem.bought .boughtToggle{background:#16a34a;border-color:#16a34a;color:white;}
    .cartCorrectText{min-width:0;flex:1;}
    .cartCorrectName{font-size:17px;font-weight:1000;color:#111827;line-height:1.15;}
    .cartCorrectItem.bought .cartCorrectName{text-decoration:line-through;color:#166534;}
    .cartCorrectMeta{margin-top:4px;color:#6b7280;font-size:13px;font-weight:800;line-height:1.35;}
    .cartCorrectRight{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;}
    .cartCorrectPrice{font-weight:1000;color:#4c1d95;white-space:nowrap;}
    .removeCartBtn{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:1000;cursor:pointer;white-space:nowrap;}
    .takenLabel{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:1000;background:#f3f4f6;color:#6b7280;}
    .cartCorrectItem.bought .takenLabel{background:#dcfce7;color:#166534;}
    @media(max-width:720px){.cartCorrectItem{align-items:flex-start}.cartCorrectRight{min-width:76px}.cartCorrectName{font-size:16px}}


    /* ===== v33 RESET SEPARATI ===== */
    .resetGrid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin-top:12px;
    }

    .resetBtn{
      border:0;
      border-radius:18px;
      padding:14px;
      font-weight:1000;
      font-size:14px;
      cursor:pointer;
      text-align:left;
      min-height:86px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:5px;
      box-shadow:0 8px 22px rgba(17,24,39,.06);
    }

    .resetBtn span{
      font-size:12px;
      font-weight:800;
      opacity:.85;
      line-height:1.25;
    }

    .resetBtn.orange{
      background:#ffedd5;
      color:#9a3412;
    }

    .resetBtn.red{
      background:#fee2e2;
      color:#991b1b;
    }

    .resetBtn.purple{
      background:#ede9fe;
      color:#5b21b6;
    }

    .resetBtn.blue{
      background:#dbeafe;
      color:#1e40af;
    }

    .resetBtn.green{
      background:#dcfce7;
      color:#166534;
    }

    @media(max-width:1100px){
      .resetGrid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
    }

    @media(max-width:720px){
      .resetGrid{
        grid-template-columns:1fr;
      }
    }


    /* ===== v34 POPUP CHIUSURA SPESA ===== */
    .cartUtilityBox{
      margin:12px 0 0;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    .cartUtilityBtn{
      border:0;
      border-radius:999px;
      padding:10px 14px;
      font-weight:1000;
      cursor:pointer;
      background:#ede9fe;
      color:#5b21b6;
    }

    .cartUtilityBtn.red{
      background:#fee2e2;
      color:#991b1b;
    }

    .closeOverlay{
      position:fixed;
      inset:0;
      background:rgba(17,24,39,.62);
      display:none;
      align-items:center;
      justify-content:center;
      z-index:999;
      padding:16px;
    }

    .closeModal{
      width:100%;
      max-width:520px;
      background:white;
      border-radius:28px;
      padding:20px;
      box-shadow:0 28px 80px rgba(0,0,0,.28);
    }

    .closeModal h2{
      margin:0 0 8px;
      color:#4c1d95;
    }

    .closeModal p{
      margin:0 0 14px;
      color:#6b7280;
      line-height:1.35;
    }

    .closeSummary{
      background:#f8fafc;
      border:1px solid var(--border);
      border-radius:18px;
      padding:12px;
      margin-bottom:14px;
      font-weight:900;
      color:#374151;
      line-height:1.5;
    }

    .closeChoice{
      border:1px solid var(--border);
      background:#f8fafc;
      border-radius:18px;
      padding:12px;
      margin:10px 0;
    }

    .closeChoice label{
      display:flex;
      align-items:center;
      gap:10px;
      margin:0;
      text-transform:none;
      letter-spacing:0;
      font-size:15px;
      color:#111827;
      cursor:pointer;
    }

    .closeChoice input{
      width:20px;
      height:20px;
      flex:0 0 20px;
      margin:0;
    }

    .closeModalActions{
      display:flex;
      gap:10px;
      margin-top:16px;
    }

    .closeModalActions button{
      flex:1;
    }

    @media(max-width:720px){
      .closeModalActions{
        flex-direction:column;
      }
    }


    /* ===== v35 RICETTE BASE ===== */
    .recipeSearchBox{
      background:white;
      border:1px solid var(--border);
      border-radius:24px;
      box-shadow:var(--shadow);
      padding:16px;
      margin-bottom:14px;
    }

    .recipeGrid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }

    .recipeCard{
      background:white;
      border:1px solid var(--border);
      border-radius:24px;
      box-shadow:var(--shadow);
      padding:16px;
      cursor:pointer;
    }

    .recipeCard h3{
      margin:0 0 6px;
      color:#4c1d95;
    }

    .recipeMeta{
      color:#6b7280;
      font-size:13px;
      font-weight:800;
      margin-bottom:8px;
    }

    .recipeTags{
      display:flex;
      gap:6px;
      flex-wrap:wrap;
      margin-top:8px;
    }

    .recipeTag{
      background:#ede9fe;
      color:#5b21b6;
      border-radius:999px;
      padding:4px 8px;
      font-size:12px;
      font-weight:1000;
    }

    .recipeDetail{
      background:white;
      border:1px solid var(--border);
      border-radius:24px;
      box-shadow:var(--shadow);
      padding:16px;
      margin-top:14px;
    }

    .ingredientColumns{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin:12px 0;
    }

    .ingredientBox{
      border-radius:20px;
      padding:14px;
      border:1px solid var(--border);
    }

    .ingredientBox.have{
      background:#ecfdf5;
      border-color:#bbf7d0;
      color:#166534;
    }

    .ingredientBox.missing{
      background:#fff7ed;
      border-color:#fed7aa;
      color:#9a3412;
    }

    .ingredientBox h4{
      margin:0 0 8px;
      font-size:15px;
    }

    .ingredientItem{
      padding:7px 0;
      border-top:1px solid rgba(0,0,0,.06);
      font-weight:900;
      display:flex;
      justify-content:space-between;
      gap:10px;
    }

    .ingredientItem:first-of-type{
      border-top:0;
    }

    .recipeSteps{
      background:#f8fafc;
      border:1px solid #e2e8f0;
      border-radius:18px;
      padding:12px;
      margin-top:12px;
      color:#475569;
      line-height:1.45;
      font-size:14px;
    }

    .recipeActions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:14px;
    }

    .recipeActions .btn{
      flex:1;
      min-width:190px;
    }

    @media(max-width:720px){
      .recipeGrid,
      .ingredientColumns{
        grid-template-columns:1fr;
      }
    }


    /* v2.2.90 - Barcode: bottoni sempre sulla stessa riga */
    .barcodeActions{display:flex;gap:10px;flex-wrap:nowrap;margin-top:8px;align-items:center}
    .barcodeActions .btn{flex:1 1 0;min-width:0;margin-top:0;white-space:nowrap;padding-left:10px;padding-right:10px}
    .barcodeOverlay{position:fixed;inset:0;background:rgba(17,24,39,.78);z-index:1000;display:none;align-items:center;justify-content:center;padding:16px}
    .barcodeModal{width:100%;max-width:520px;background:white;border-radius:28px;padding:18px;box-shadow:0 28px 80px rgba(0,0,0,.32)}
    .barcodeModal h2{margin:0 0 8px;color:#4c1d95}.barcodeVideoBox{overflow:hidden;border-radius:20px;background:#111827;margin:12px 0;min-height:260px;display:flex;align-items:center;justify-content:center}
    #barcodeVideo{width:100%;max-height:360px;object-fit:cover;display:block}.barcodeHelp{color:#6b7280;font-size:13px;line-height:1.35;margin:8px 0}
    .productExtraPills{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.productExtraPill{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:1000;background:#f1f5f9;color:#334155}
    .productExtraPill.brand{background:#dbeafe;color:#1e40af}.productExtraPill.barcode{background:#fef3c7;color:#92400e}.productExtraPill.ingredient{background:#dcfce7;color:#166534}


    /* ===== v37 FIX SALVATAGGIO + SUPERMERCATO SELECT ===== */
    .fieldHelp{font-size:12px;color:#6b7280;margin-top:5px;line-height:1.25}
    select{width:100%;padding:12px 13px;border-radius:14px;border:1px solid var(--border);background:white;font-weight:800;color:#111827;min-height:46px}


    /* ===== v43 RICETTE INTEGRATE UI ORIGINALE ===== */
    .recipeCategoryGrid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
      margin:14px 0;
    }

    .recipeCategoryBtn{
      border:0;
      border-radius:20px;
      padding:14px;
      background:#ede9fe;
      color:#5b21b6;
      font-weight:1000;
      text-align:left;
      cursor:pointer;
      box-shadow:0 8px 22px rgba(91,33,182,.08);
    }

    .recipeCategoryBtn.active{
      background:linear-gradient(135deg,#6d28d9,#2563eb);
      color:white;
    }

    .recipeList{
      display:flex;
      flex-direction:column;
      gap:14px;
      margin-top:14px;
    }

    .recipeCardPro{
      background:#fff;
      border:1px solid var(--border);
      border-radius:28px;
      box-shadow:var(--shadow);
      padding:18px;
    }

    .recipeCardTop{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }

    .recipeEmoji{
      width:54px;
      height:54px;
      border-radius:18px;
      background:#ede9fe;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:30px;
      flex:0 0 54px;
    }

    .recipeTitle{
      font-size:24px;
      font-weight:1000;
      color:#4c1d95;
      margin:0;
      line-height:1.1;
    }

    .recipeSub{
      color:#6b7280;
      font-weight:800;
      margin-top:6px;
      font-size:14px;
    }

    .recipePills{
      display:flex;
      gap:6px;
      flex-wrap:wrap;
      margin-top:10px;
    }

    .recipePill{
      border-radius:999px;
      padding:5px 9px;
      font-size:12px;
      font-weight:1000;
      background:#f1f5f9;
      color:#334155;
    }

    .recipePill.ok{
      background:#dcfce7;
      color:#166534;
    }

    .recipePill.missing{
      background:#ffedd5;
      color:#9a3412;
    }

    .recipeIngredients{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
      margin-top:14px;
    }

    .recipeIngredientBox{
      border-radius:20px;
      padding:13px;
      border:1px solid var(--border);
      font-size:14px;
      line-height:1.45;
    }

    .recipeIngredientBox.have{
      background:#ecfdf5;
      border-color:#bbf7d0;
      color:#166534;
    }

    .recipeIngredientBox.need{
      background:#fff7ed;
      border-color:#fed7aa;
      color:#9a3412;
    }

    .recipeIngredientBox h4{
      margin:0 0 8px;
      font-size:15px;
    }

    .recipeActions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:14px;
    }

    .recipeActions .btn{
      flex:1;
      min-width:180px;
    }

    .recipeMenuCard{
      background:linear-gradient(135deg,#f5f3ff,#eff6ff);
      border:1px solid #ddd6fe;
      border-radius:26px;
      padding:16px;
      margin-top:14px;
    }

    .recipeMenuCard h3{
      color:#4c1d95;
      margin:0 0 10px;
    }

    .mealCourse{
      background:white;
      border:1px solid var(--border);
      border-radius:18px;
      padding:12px;
      margin-top:8px;
      font-weight:900;
      color:#374151;
    }

    @media(max-width:720px){
      .recipeCategoryGrid,
      .recipeIngredients{
        grid-template-columns:1fr;
      }

      .recipeTitle{
        font-size:21px;
      }
    }


/* ===== v47 DETTAGLIO RICETTE ===== */
.recipePhoto{
  width:100%;
  height:180px;
  border-radius:22px;
  object-fit:cover;
  margin-top:14px;
  border:1px solid var(--border);
  background:#f3f4f6;
}

.recipeModal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  display:none;
  align-items:flex-end;
  justify-content:center;
  z-index:99999;
  padding:18px;
}

.recipeModal.show{
  display:flex;
}

.recipeModalCard{
  width:min(760px,100%);
  max-height:90vh;
  overflow:auto;
  background:white;
  border-radius:32px 32px 20px 20px;
  padding:22px;
  box-shadow:0 30px 80px rgba(0,0,0,.3);
}

.recipeModalTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.recipeModalTitle{
  font-size:28px;
  font-weight:1000;
  color:#4c1d95;
}

.recipeModalClose{
  border:0;
  width:44px;
  height:44px;
  border-radius:16px;
  background:#ede9fe;
  color:#5b21b6;
  font-size:22px;
  font-weight:1000;
}

.recipeSteps{
  margin-top:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.recipeStep{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:14px;
  font-weight:700;
  color:#334155;
}

.recipeInfoGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:14px;
}

.recipeInfo{
  background:#f5f3ff;
  border:1px solid #ddd6fe;
  border-radius:18px;
  padding:12px;
  text-align:center;
}

.recipeInfoLabel{
  font-size:12px;
  color:#6b7280;
  font-weight:900;
}

.recipeInfoValue{
  margin-top:5px;
  color:#4c1d95;
  font-weight:1000;
}

@media(max-width:720px){
  .recipeInfoGrid{
    grid-template-columns:1fr;
  }
}


/* ===== v51 RICETTE: AVVIO PULITO + HERO CATEGORIA ===== */
.recipeCategoryHero{
  margin:14px 0;
  border-radius:26px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  background:#f8fafc;
  display:none;
}
.recipeCategoryHero.show{display:block;}
.recipeCategoryHero img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}
.recipeCategoryHeroText{
  padding:14px 16px;
}
.recipeCategoryHeroTitle{
  color:#4c1d95;
  font-weight:1000;
  font-size:22px;
  margin:0 0 4px;
}
.recipeCategoryHeroSub{
  color:#6b7280;
  font-weight:800;
  font-size:14px;
  line-height:1.35;
}
.recipeStartEmpty{
  background:white;
  border:1px dashed #c4b5fd;
  border-radius:24px;
  padding:18px;
  color:#6b7280;
  font-weight:800;
  text-align:center;
  display:none;
}
.recipeSmallPhoto{
  width:78px;
  height:78px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid var(--border);
  background:#f3f4f6;
  flex:0 0 78px;
}
@media(max-width:720px){
  .recipeCategoryHero img{height:145px;}
  .recipeSmallPhoto{width:66px;height:66px;flex-basis:66px;}
}



/* ===== v81 RICETTE AUTONOME FUNZIONANTI ===== */
#recipesV81{
  margin-top:14px;
}

.recipesMenuV81{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}

.recipeBtnV81{
  border:0;
  border-radius:20px;
  padding:14px;
  background:#ede9fe;
  color:#5b21b6;
  font-weight:1000;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(91,33,182,.08);
}

.recipeBtnV81.active{
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:white;
}

.recipeHeroV81{
  display:none;
  background:linear-gradient(135deg,#f5f3ff,#eff6ff);
  border:1px solid #ddd6fe;
  border-radius:26px;
  padding:16px;
  margin:14px 0;
  box-shadow:var(--shadow);
}

.recipeHeroV81.show{display:block;}

.recipeListV81{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:14px;
}

.recipeCardV81{
  background:white;
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:18px;
}

.recipeTopV81{
  display:flex;
  gap:13px;
  align-items:flex-start;
}

.recipeImgV81{
  width:78px;
  height:78px;
  border-radius:20px;
  object-fit:cover;
  border:1px solid var(--border);
  background:#f3f4f6;
  flex:0 0 78px;
}

.recipeTitleV81{
  font-size:22px;
  font-weight:1000;
  color:#4c1d95;
  margin:0;
}

.recipeMetaV81{
  color:#6b7280;
  font-size:13px;
  font-weight:800;
  margin-top:6px;
}

.recipePillsV81{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}

.recipePillV81{
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:1000;
  background:#f1f5f9;
  color:#334155;
}

.recipeIngredientsV81{
  background:#ecfdf5;
  border:1px solid #bbf7d0;
  color:#166534;
  border-radius:18px;
  padding:12px;
  margin-top:12px;
  font-weight:900;
  line-height:1.45;
}

.recipeActionsV81{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.recipeModalV81{
  position:fixed;
  inset:0;
  background:rgba(17,24,39,.66);
  display:none;
  align-items:flex-end;
  justify-content:center;
  z-index:100000;
  padding:16px;
}

.recipeModalV81.show{display:flex;}

.recipeModalCardV81{
  width:min(780px,100%);
  max-height:90vh;
  overflow:auto;
  background:white;
  border-radius:32px;
  box-shadow:0 28px 90px rgba(0,0,0,.34);
}

.recipeCoverV81{
  width:100%;
  height:210px;
  object-fit:cover;
  border-radius:32px 32px 0 0;
  background:#f3f4f6;
}

.recipeModalBodyV81{
  padding:18px;
}

.recipeStepsV81{
  margin:14px 0 0;
  padding:0;
  counter-reset:step;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.recipeStepsV81 li{
  list-style:none;
  counter-increment:step;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:13px 13px 13px 48px;
  color:#334155;
  line-height:1.45;
  font-size:15px;
  position:relative;
}

.recipeStepsV81 li::before{
  content:counter(step);
  position:absolute;
  left:13px;
  top:13px;
  width:25px;
  height:25px;
  border-radius:999px;
  background:#6d28d9;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:1000;
}

@media(max-width:720px){
  .recipesMenuV81{grid-template-columns:1fr;}
  .recipeTopV81{align-items:flex-start;}
}



/* ===== v82 RICETTE HARD MOUNT ===== */
#recipes #recipesV82{
  display:block !important;
}
#recipesV82{
  margin-top:14px;
}
#recipesV82 .recipesMenuV82{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
#recipesV82 .recipeBtnV82{
  border:0;
  border-radius:20px;
  padding:14px;
  background:#ede9fe;
  color:#5b21b6;
  font-weight:1000;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(91,33,182,.08);
}
#recipesV82 .recipeBtnV82.active{
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:white;
}
#recipesV82 .recipeListV82{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:14px;
}
#recipesV82 .recipeCardV82{
  background:white;
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:18px;
}
#recipesV82 .recipeTopV82{
  display:flex;
  gap:13px;
  align-items:flex-start;
}
#recipesV82 .recipeImgV82{
  width:78px;
  height:78px;
  border-radius:20px;
  object-fit:cover;
  border:1px solid var(--border);
  background:#f3f4f6;
  flex:0 0 78px;
}
#recipesV82 .recipeTitleV82{
  font-size:22px;
  font-weight:1000;
  color:#4c1d95;
  margin:0;
}
#recipesV82 .recipeMetaV82{
  color:#6b7280;
  font-size:13px;
  font-weight:800;
  margin-top:6px;
}
#recipesV82 .recipePillsV82{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}
#recipesV82 .recipePillV82{
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:1000;
  background:#f1f5f9;
  color:#334155;
}
#recipesV82 .recipeIngredientsV82{
  background:#ecfdf5;
  border:1px solid #bbf7d0;
  color:#166534;
  border-radius:18px;
  padding:12px;
  margin-top:12px;
  font-weight:900;
  line-height:1.45;
}
.recipeModalV82{
  position:fixed;
  inset:0;
  background:rgba(17,24,39,.66);
  display:none;
  align-items:flex-end;
  justify-content:center;
  z-index:100000;
  padding:16px;
}
.recipeModalV82.show{display:flex;}
.recipeModalCardV82{
  width:min(780px,100%);
  max-height:90vh;
  overflow:auto;
  background:white;
  border-radius:32px;
  box-shadow:0 28px 90px rgba(0,0,0,.34);
}
.recipeCoverV82{
  width:100%;
  height:210px;
  object-fit:cover;
  border-radius:32px 32px 0 0;
  background:#f3f4f6;
}
.recipeModalBodyV82{padding:18px;}
.recipeStepsV82{
  margin:14px 0 0;
  padding:0;
  counter-reset:step;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.recipeStepsV82 li{
  list-style:none;
  counter-increment:step;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:13px 13px 13px 48px;
  color:#334155;
  line-height:1.45;
  font-size:15px;
  position:relative;
}
.recipeStepsV82 li::before{
  content:counter(step);
  position:absolute;
  left:13px;
  top:13px;
  width:25px;
  height:25px;
  border-radius:999px;
  background:#6d28d9;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:1000;
}
@media(max-width:720px){
  #recipesV82 .recipesMenuV82{grid-template-columns:1fr;}
}



/* ===== v83 RICETTE FILE SEPARATO ===== */
#recipesV83{
  display:block !important;
  margin-top:14px;
}

#recipesV83 .recipeHeroV83{
  display:none;
  background:linear-gradient(135deg,#f5f3ff,#eff6ff);
  border:1px solid #ddd6fe;
  border-radius:26px;
  padding:16px;
  margin:14px 0;
  box-shadow:var(--shadow);
}

#recipesV83 .recipeHeroV83.show{
  display:block !important;
}

#recipesV83 .recipeListV83{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:14px;
}

#recipesV83 .recipeCardV83{
  background:white;
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:18px;
}

#recipesV83 .recipeTopV83{
  display:flex;
  gap:13px;
  align-items:flex-start;
}

#recipesV83 .recipeImgV83{
  width:78px;
  height:78px;
  border-radius:20px;
  object-fit:cover;
  border:1px solid var(--border);
  background:#f3f4f6;
  flex:0 0 78px;
}

#recipesV83 .recipeTitleV83{
  font-size:22px;
  font-weight:1000;
  color:#4c1d95;
  margin:0;
}

#recipesV83 .recipeMetaV83{
  color:#6b7280;
  font-size:13px;
  font-weight:800;
  margin-top:6px;
}

#recipesV83 .recipePillsV83{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}

#recipesV83 .recipePillV83{
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:1000;
  background:#f1f5f9;
  color:#334155;
}

#recipesV83 .recipeIngredientsV83{
  background:#ecfdf5;
  border:1px solid #bbf7d0;
  color:#166534;
  border-radius:18px;
  padding:12px;
  margin-top:12px;
  font-weight:900;
  line-height:1.45;
}

.recipeModalV83{
  position:fixed;
  inset:0;
  background:rgba(17,24,39,.66);
  display:none;
  align-items:flex-end;
  justify-content:center;
  z-index:100000;
  padding:16px;
}

.recipeModalV83.show{
  display:flex !important;
}

.recipeModalCardV83{
  width:min(780px,100%);
  max-height:90vh;
  overflow:auto;
  background:white;
  border-radius:32px;
  box-shadow:0 28px 90px rgba(0,0,0,.34);
}

.recipeCoverV83{
  width:100%;
  height:210px;
  object-fit:cover;
  border-radius:32px 32px 0 0;
  background:#f3f4f6;
}

.recipeModalBodyV83{
  padding:18px;
}

.recipeStepsV83{
  margin:14px 0 0;
  padding:0;
  counter-reset:step;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.recipeStepsV83 li{
  list-style:none;
  counter-increment:step;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:13px 13px 13px 48px;
  color:#334155;
  line-height:1.45;
  font-size:15px;
  position:relative;
}

.recipeStepsV83 li::before{
  content:counter(step);
  position:absolute;
  left:13px;
  top:13px;
  width:25px;
  height:25px;
  border-radius:999px;
  background:#6d28d9;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:1000;
}



/* ===== v84 RICETTE DETTAGLIO + CARRELLO ===== */
#recipeAddCartModalV83{
  background:linear-gradient(135deg,#16a34a,#22c55e) !important;
  color:white !important;
  border:0 !important;
  border-radius:18px !important;
  padding:15px !important;
  font-weight:1000 !important;
}



/* ===== v87 RICETTE MENU REPARTO SELEZIONATO ===== */
.recipeCategoryBtn.v87-hidden{
  display:none !important;
}

.recipeCategoryBtn.v87-selected{
  display:block !important;
  width:100% !important;
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

#recipeBackCategoriesV87{
  width:100%;
  margin:10px 0 14px;
  border:0;
  border-radius:18px;
  padding:13px 14px;
  font-weight:1000;
  cursor:pointer;
  background:#f1f5f9;
  color:#334155;
  display:none;
}

#recipeBackCategoriesV87.show{
  display:block !important;
}



/* ===== v88 RICETTE TOGGLE CATEGORIA ===== */
.recipeCategoryBtn.v88-hidden{
  display:none !important;
}

.recipeCategoryBtn.v88-selected{
  display:block !important;
  width:100% !important;
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

.recipeCategoryBtn.v88-selected::after{
  content:"  ×";
  float:right;
  font-weight:1000;
}

#recipeBackCategoriesV87,
#recipeBackCategoriesV88{
  display:none !important;
}



/* ===== v89 HARD TOGGLE RICETTE ===== */
.recipeCategoryBtn.v89-hidden{
  display:none !important;
}

.recipeCategoryBtn.v89-selected{
  display:block !important;
  width:100% !important;
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

.recipeCategoryBtn.v89-selected::after{
  content:"  ×";
  float:right;
  font-weight:1000;
}

#recipeBackCategoriesV87,
#recipeBackCategoriesV88{
  display:none !important;
}

#v89Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.75;
}



/* ===== v90 TOGGLE RICETTE PERSISTENTE ===== */
.recipeCategoryBtn.v90-hidden,
.v90-category-hidden{
  display:none !important;
}

.recipeCategoryBtn.v90-selected,
.v90-category-selected{
  display:block !important;
  width:100% !important;
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

.recipeCategoryBtn.v90-selected::after,
.v90-category-selected::after{
  content:"  ×";
  float:right;
  font-weight:1000;
}

#v89Badge{
  display:none !important;
}

#v90Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}



/* ===== v101 REBUILD ===== */
#v101Badge{position:fixed;right:10px;bottom:10px;z-index:999999;background:#111827;color:white;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:1000;opacity:.78}
.recipeCategoryBtn.v101-hidden{display:none!important}
.recipeCategoryBtn.v101-selected{display:block!important;width:100%!important;background:linear-gradient(135deg,#6d28d9,#2563eb)!important;color:white!important;box-shadow:0 14px 30px rgba(109,40,217,.22)!important}
.recipeCategoryBtn.v101-selected::after{content:"  ×";float:right;font-weight:1000}
#recipesV101{display:block!important;margin-top:14px}
.recipeHeroV101{display:none;background:linear-gradient(135deg,#f5f3ff,#eff6ff);border:1px solid #ddd6fe;border-radius:26px;padding:16px;margin:14px 0;box-shadow:var(--shadow)}
.recipeHeroV101.show{display:block!important}
.recipeListV101{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.recipeCardV101{background:white;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:18px}
.recipeTopV101{display:flex;gap:13px;align-items:flex-start}
.recipeImgV101{width:78px;height:78px;border-radius:20px;object-fit:cover;border:1px solid var(--border);background:#f3f4f6;flex:0 0 78px}
.recipeTitleV101{font-size:22px;font-weight:1000;color:#4c1d95;margin:0}
.recipeMetaV101{color:#6b7280;font-size:13px;font-weight:800;margin-top:6px}
.recipePillsV101{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.recipePillV101{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:1000;background:#f1f5f9;color:#334155}
.recipeIngredientsV101{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:18px;padding:12px;margin-top:12px;font-weight:900;line-height:1.45}
.recipeModalV101{position:fixed;inset:0;background:rgba(17,24,39,.66);display:none;align-items:flex-end;justify-content:center;z-index:100000;padding:16px}
.recipeModalV101.show{display:flex!important}
.recipeModalCardV101{width:min(780px,100%);max-height:90vh;overflow:auto;background:white;border-radius:32px;box-shadow:0 28px 90px rgba(0,0,0,.34)}
.recipeCoverV101{width:100%;height:210px;object-fit:cover;border-radius:32px 32px 0 0;background:#f3f4f6}
.recipeModalBodyV101{padding:18px}
.recipeStepsV101{margin:14px 0 0;padding:0;counter-reset:step;display:flex;flex-direction:column;gap:10px}
.recipeStepsV101 li{list-style:none;counter-increment:step;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:13px 13px 13px 48px;color:#334155;line-height:1.45;font-size:15px;position:relative}
.recipeStepsV101 li::before{content:counter(step);position:absolute;left:13px;top:13px;width:25px;height:25px;border-radius:999px;background:#6d28d9;color:white;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:1000}
#recipeAddCartModalV101{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:white!important;border:0!important;border-radius:18px!important;padding:15px!important;font-weight:1000!important}



/* ===== v102 RIMUOVE BOX DESCRIZIONE CATEGORIA RICETTE ===== */
#recipeHeroV101,
.recipeHeroV101{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
#recipeHeroTitleV101,
#recipeHeroTextV101{
  display:none !important;
}



/* ===== v103 RICETTE LAYOUT PULITO ===== */
#recipeHeroV101,
.recipeHeroV101{
  display:none !important;
}

.recipeCategoryBtn.v101-hidden,
.recipeCategoryBtn.v102-hidden,
.recipeCategoryBtn.v103-hidden{
  display:block !important;
}

.recipeCategoryBtn.v101-selected,
.recipeCategoryBtn.v102-selected,
.recipeCategoryBtn.v103-selected,
.recipeCategoryBtn.active{
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

.recipeCategoryBtn.v101-selected::after{
  content:"" !important;
}

#recipeListV101{
  display:block !important;
  margin-top:28px !important;
}

.recipeResultHeaderV103{
  border-top:1px solid #e5e7eb;
  padding-top:26px;
  margin-top:18px;
  text-align:center;
}

.recipeResultTitleV103{
  color:#4c1d95;
  font-weight:1000;
  font-size:25px;
  margin:0 0 14px;
}

.recipeResultEmptyV103{
  color:#6b7280;
  font-size:18px;
  margin:0 0 24px;
}

.recipeSuggestionV103{
  background:#f5f3ff;
  border:1px solid #ddd6fe;
  border-radius:16px;
  padding:18px 20px;
  margin-top:16px;
  color:#4c1d95;
}

.recipeSuggestionV103 h4{
  margin:0 0 10px;
  font-size:18px;
  font-weight:1000;
}

.recipeSuggestionV103 p{
  margin:0;
  font-size:15px;
}

#v101Badge{
  display:none !important;
}

#v103Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}



/* ===== v104 RICETTE OUTPUT PULITO FORZATO ===== */
#recipeEmptyV101,
#recipeHeroV101,
.recipeHeroV101,
#recipesV101,
#recipeListV101{
  display:none !important;
}

#recipesOutputV104{
  display:block !important;
  margin-top:28px !important;
}

.recipeResultHeaderV104{
  border-top:1px solid #e5e7eb;
  padding-top:26px;
  margin-top:18px;
  text-align:center;
}

.recipeResultTitleV104{
  color:#4c1d95;
  font-weight:1000;
  font-size:25px;
  margin:0 0 14px;
}

.recipeResultEmptyV104{
  color:#6b7280;
  font-size:18px;
  margin:0 0 24px;
}

.recipeSuggestionV104{
  background:#f5f3ff;
  border:1px solid #ddd6fe;
  border-radius:16px;
  padding:18px 20px;
  margin-top:16px;
  color:#4c1d95;
  text-align:left;
}

.recipeSuggestionV104 h4{
  margin:0 0 10px;
  font-size:18px;
  font-weight:1000;
}

.recipeSuggestionV104 p{
  margin:0;
  font-size:15px;
}

#v103Badge{display:none !important;}

#v104Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}



/* ===== v106 RICETTE CATEGORIA STICKY ===== */
#recipesOutputV105,
#recipesOutputV104,
#recipesOutputV103,
#recipesV101,
#recipeListV101,
#recipeEmptyV101,
#recipeHeroV101{
  display:none !important;
}

#recipesOutputV106{
  display:block !important;
  margin-top:18px !important;
}

#recipeStickyCategoryV106{
  position:sticky;
  top:8px;
  z-index:50;
  margin:0 0 16px;
  border-radius:22px;
  padding:14px 18px;
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:white;
  font-weight:1000;
  box-shadow:0 14px 30px rgba(109,40,217,.22);
  cursor:pointer;
  display:none;
}

#recipeStickyCategoryV106.show{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

#recipeStickyCategoryV106 .closeHint{
  font-size:13px;
  opacity:.9;
  font-weight:900;
}

.recipeCategoryBtn.v106-selected{
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

.recipeResultListV106{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:14px;
}

.recipeEmptyInvisibleV106{
  display:none !important;
}

#v105Badge,
#v104Badge,
#v103Badge,
#v101Badge{
  display:none !important;
}

#v106Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}



/* ===== v107 RICETTE REALI CON STICKY ===== */
#recipesOutputV106,
#recipesOutputV105,
#recipesOutputV104,
#recipesOutputV103,
#recipesV101,
#recipeListV101,
#recipeEmptyV101,
#recipeHeroV101{
  display:none !important;
}

#recipesOutputV107{
  display:block !important;
  margin-top:18px !important;
}

#recipeStickyCategoryV107{
  position:sticky;
  top:8px;
  z-index:50;
  margin:0 0 16px;
  border-radius:22px;
  padding:14px 18px;
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:white;
  font-weight:1000;
  box-shadow:0 14px 30px rgba(109,40,217,.22);
  cursor:pointer;
  display:none;
}

#recipeStickyCategoryV107.show{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

#recipeStickyCategoryV107 .closeHint{
  font-size:13px;
  opacity:.9;
  font-weight:900;
}

.recipeCategoryBtn.v107-selected{
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

.recipeResultListV107{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:14px;
}

.recipeCardV107{
  background:white;
  border:1px solid #e5e7eb;
  border-radius:26px;
  padding:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
}

.recipeTopV107{
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.recipeImgV107{
  width:92px;
  height:92px;
  border-radius:20px;
  object-fit:cover;
  background:#f3f4f6;
  border:1px solid #e5e7eb;
  flex:0 0 92px;
}

.recipeTitleV107{
  margin:0;
  color:#4c1d95;
  font-size:22px;
  font-weight:1000;
}

.recipeMetaV107{
  margin-top:8px;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.recipePillV107{
  background:#f1f5f9;
  color:#334155;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:900;
}

.recipeIngredientsV107{
  margin-top:12px;
  padding:12px;
  border-radius:18px;
  background:#ecfdf5;
  border:1px solid #bbf7d0;
  color:#166534;
  line-height:1.45;
}

.recipeActionsV107{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.recipeModalV107{
  position:fixed;
  inset:0;
  background:rgba(17,24,39,.66);
  display:none;
  align-items:flex-end;
  justify-content:center;
  z-index:100000;
  padding:16px;
}

.recipeModalV107.show{
  display:flex !important;
}

.recipeModalCardV107{
  width:min(780px,100%);
  max-height:90vh;
  overflow:auto;
  background:white;
  border-radius:32px;
  box-shadow:0 28px 90px rgba(0,0,0,.34);
}

.recipeCoverV107{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:32px 32px 0 0;
}

.recipeModalBodyV107{
  padding:18px;
}

.recipeStepsV107{
  margin:14px 0 0;
  padding:0;
  counter-reset:step;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.recipeStepsV107 li{
  list-style:none;
  counter-increment:step;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:13px 13px 13px 48px;
  color:#334155;
  line-height:1.45;
  font-size:15px;
  position:relative;
}

.recipeStepsV107 li::before{
  content:counter(step);
  position:absolute;
  left:13px;
  top:13px;
  width:25px;
  height:25px;
  border-radius:999px;
  background:#6d28d9;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:1000;
}

#v106Badge,#v105Badge,#v104Badge,#v103Badge,#v101Badge{
  display:none !important;
}

#v107Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}



/* ===== v108 CLICK CATEGORIE RICETTE FIX DEFINITIVO ===== */
#v107Badge{display:none!important}
#v108Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

#recipesOutputV108{
  display:block!important;
  margin-top:18px!important;
}

#recipeStickyCategoryV108{
  position:sticky;
  top:8px;
  z-index:9999;
  margin:0 0 16px;
  border-radius:22px;
  padding:14px 18px;
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:white;
  font-weight:1000;
  box-shadow:0 14px 30px rgba(109,40,217,.22);
  cursor:pointer;
  display:none;
}

#recipeStickyCategoryV108.show{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

#recipeStickyCategoryV108 .closeHint{
  font-size:13px;
  opacity:.9;
  font-weight:900;
}

.recipeCardV108{
  background:white;
  border:1px solid #e5e7eb;
  border-radius:26px;
  padding:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
  margin-bottom:16px;
}

.recipeTopV108{
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.recipeImgV108{
  width:92px;
  height:92px;
  border-radius:20px;
  object-fit:cover;
  border:1px solid #e5e7eb;
  background:#f3f4f6;
}

.recipeTitleV108{
  margin:0;
  color:#4c1d95;
  font-size:22px;
  font-weight:1000;
}

.recipeMetaV108{
  margin-top:8px;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.recipePillV108{
  background:#f1f5f9;
  color:#334155;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:900;
}

.recipeIngredientsV108{
  margin-top:12px;
  padding:12px;
  border-radius:18px;
  background:#ecfdf5;
  border:1px solid #bbf7d0;
  color:#166534;
  line-height:1.45;
}

.recipeActionsV108{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

#recipesOutputV106,#recipesOutputV105,#recipesOutputV104,#recipesOutputV103,#recipesV101,#recipeListV101,#recipeEmptyV101,#recipeHeroV101{
  display:none!important;
}


/* ===== v109 badge ===== */
#v108Badge{display:none!important;}



/* ===== v110 TOGGLE CATEGORIE RICETTE ===== */
#v109Badge,
#v108Badge{
  display:none !important;
}

#v110Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.recipeCategoryBtn.v110-hidden{
  display:none !important;
}

.recipeCategoryBtn.v110-open{
  display:block !important;
  width:100% !important;
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

.recipeCategoryBtn.v110-open::after{
  content:"  chiudi ×";
  float:right;
  font-size:13px;
  font-weight:1000;
  opacity:.95;
}

/* Nasconde eventuale Home/Back delle versioni precedenti dentro ricette */
#recipes button#recipeBackCategoriesV87,
#recipes button#recipeBackCategoriesV88,
#recipeBackCategoriesV87,
#recipeBackCategoriesV88{
  display:none !important;
}



/* ===== v111 FIX CLICK SOLO BOTTONI CATEGORIA RICETTE ===== */
#v110Badge,#v109Badge,#v108Badge{display:none!important;}

#v111Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.recipeCategoryBtn.v111-hidden{
  display:none !important;
}

.recipeCategoryBtn.v111-open{
  display:block !important;
  width:100% !important;
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

.recipeCategoryBtn.v111-open::after{
  content:"  chiudi ×";
  float:right;
  font-size:13px;
  font-weight:1000;
  opacity:.95;
}



/* ===== v112 RICETTE CLEAN MANAGER ===== */
#v111Badge,#v110Badge,#v109Badge,#v108Badge,#v107Badge,#v106Badge,#v105Badge,#v104Badge,#v103Badge,#v101Badge{
  display:none !important;
}

#v112Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

#recipesOutputV112{
  display:block !important;
  margin-top:18px !important;
}

#recipeStickyCategoryV112{
  position:sticky;
  top:8px;
  z-index:9999;
  margin:0 0 16px;
  border-radius:22px;
  padding:14px 18px;
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:white;
  font-weight:1000;
  box-shadow:0 14px 30px rgba(109,40,217,.22);
  cursor:pointer;
  display:none;
}

#recipeStickyCategoryV112.show{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

#recipeStickyCategoryV112 .closeHint{
  font-size:13px;
  opacity:.9;
  font-weight:900;
}

.recipeCategoryBtn.v112-hidden{
  display:none !important;
}

.recipeCategoryBtn.v112-open{
  display:block !important;
  width:100% !important;
  background:linear-gradient(135deg,#6d28d9,#2563eb) !important;
  color:white !important;
  box-shadow:0 14px 30px rgba(109,40,217,.22) !important;
}

.recipeCategoryBtn.v112-open::after{
  content:"  chiudi ×";
  float:right;
  font-size:13px;
  font-weight:1000;
  opacity:.95;
}

#recipesOutputV107,#recipesOutputV108,#recipesOutputV106,#recipesOutputV105,#recipesOutputV104,#recipesOutputV103,#recipesV101,#recipeListV101,#recipeEmptyV101,#recipeHeroV101{
  display:none !important;
}

.recipeCardV112{
  background:white;
  border:1px solid #e5e7eb;
  border-radius:26px;
  padding:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
  margin-bottom:16px;
}

.recipeTopV112{
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.recipeImgV112{
  width:92px;
  height:92px;
  border-radius:20px;
  object-fit:cover;
  border:1px solid #e5e7eb;
  background:#f3f4f6;
  flex:0 0 92px;
}

.recipeTitleV112{
  margin:0;
  color:#4c1d95;
  font-size:22px;
  font-weight:1000;
}

.recipeMetaV112{
  margin-top:8px;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.recipePillV112{
  background:#f1f5f9;
  color:#334155;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:900;
}

.recipeIngredientsV112{
  margin-top:12px;
  padding:12px;
  border-radius:18px;
  background:#ecfdf5;
  border:1px solid #bbf7d0;
  color:#166534;
  line-height:1.45;
}

.recipeActionsV112{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.recipeModalV112{
  position:fixed;
  inset:0;
  background:rgba(17,24,39,.66);
  display:none;
  align-items:flex-end;
  justify-content:center;
  z-index:100000;
  padding:16px;
}

.recipeModalV112.show{
  display:flex !important;
}

.recipeModalCardV112{
  width:min(780px,100%);
  max-height:90vh;
  overflow:auto;
  background:white;
  border-radius:32px;
  box-shadow:0 28px 90px rgba(0,0,0,.34);
}

.recipeCoverV112{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:32px 32px 0 0;
}

.recipeModalBodyV112{
  padding:18px;
}

.recipeStepsV112{
  margin:14px 0 0;
  padding:0;
  counter-reset:step;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.recipeStepsV112 li{
  list-style:none;
  counter-increment:step;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:13px 13px 13px 48px;
  color:#334155;
  line-height:1.45;
  font-size:15px;
  position:relative;
}

.recipeStepsV112 li::before{
  content:counter(step);
  position:absolute;
  left:13px;
  top:13px;
  width:25px;
  height:25px;
  border-radius:999px;
  background:#6d28d9;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:1000;
}



/* ===== v113 DIRECT CATEGORY FIX ===== */
#v112Badge,#v111Badge,#v110Badge,#v109Badge,#v108Badge{display:none!important;}
#v113Badge{position:fixed;right:10px;bottom:10px;z-index:999999;background:#111827;color:white;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:1000;opacity:.78}
.recipeCategoryBtn.v113-hidden{display:none!important}
.recipeCategoryBtn.v113-open{display:block!important;width:100%!important;background:linear-gradient(135deg,#6d28d9,#2563eb)!important;color:white!important;box-shadow:0 14px 30px rgba(109,40,217,.22)!important}
.recipeCategoryBtn.v113-open::after{content:"  chiudi ×";float:right;font-size:13px;font-weight:1000;opacity:.95}
#recipesOutputV113{display:block!important;margin-top:18px!important}
#recipeStickyCategoryV113{position:sticky;top:8px;z-index:9999;margin:0 0 16px;border-radius:22px;padding:14px 18px;background:linear-gradient(135deg,#6d28d9,#2563eb);color:white;font-weight:1000;box-shadow:0 14px 30px rgba(109,40,217,.22);cursor:pointer;display:none}
#recipeStickyCategoryV113.show{display:flex!important;align-items:center;justify-content:space-between;gap:12px}
#recipeStickyCategoryV113 .closeHint{font-size:13px;opacity:.9;font-weight:900}
#recipesOutputV112,#recipesOutputV108,#recipesOutputV107,#recipesOutputV106,#recipesOutputV105,#recipesOutputV104,#recipesOutputV103,#recipesV101,#recipeListV101,#recipeEmptyV101,#recipeHeroV101{display:none!important}
.recipeCardV113{background:white;border:1px solid #e5e7eb;border-radius:26px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.08);margin-bottom:16px}
.recipeTopV113{display:flex;gap:14px;align-items:flex-start}
.recipeImgV113{width:92px;height:92px;border-radius:20px;object-fit:cover;border:1px solid #e5e7eb;background:#f3f4f6;flex:0 0 92px}
.recipeTitleV113{margin:0;color:#4c1d95;font-size:22px;font-weight:1000}
.recipeMetaV113{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.recipePillV113{background:#f1f5f9;color:#334155;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}
.recipeIngredientsV113{margin-top:12px;padding:12px;border-radius:18px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;line-height:1.45}
.recipeActionsV113{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}



/* ===== v114 RICETTE CLEAN FINAL ===== */
#v113Badge,#v112Badge,#v111Badge,#v110Badge,#v109Badge,#v108Badge,#v107Badge,#v106Badge,#v105Badge,#v104Badge,#v103Badge,#v101Badge{
  display:none!important;
}
#v114Badge{
  position:fixed;right:10px;bottom:10px;z-index:999999;background:#111827;color:white;
  border-radius:999px;padding:7px 11px;font-size:11px;font-weight:1000;opacity:.78
}
#recipesOutputV114{display:block!important;margin-top:18px!important}
#recipeStickyCategoryV114{
  position:sticky;top:8px;z-index:9999;margin:0 0 16px;border-radius:22px;padding:14px 18px;
  background:linear-gradient(135deg,#6d28d9,#2563eb);color:white;font-weight:1000;
  box-shadow:0 14px 30px rgba(109,40,217,.22);cursor:pointer;display:none
}
#recipeStickyCategoryV114.show{display:flex!important;align-items:center;justify-content:space-between;gap:12px}
#recipeStickyCategoryV114 .closeHint{font-size:13px;opacity:.9;font-weight:900}
.recipeCategoryBtn.v114-hidden{display:none!important}
.recipeCategoryBtn.v114-open{
  display:block!important;width:100%!important;background:linear-gradient(135deg,#6d28d9,#2563eb)!important;
  color:white!important;box-shadow:0 14px 30px rgba(109,40,217,.22)!important
}
.recipeCategoryBtn.v114-open::after{content:"  chiudi ×";float:right;font-size:13px;font-weight:1000;opacity:.95}
#recipesOutputV113,#recipesOutputV112,#recipesOutputV108,#recipesOutputV107,#recipesOutputV106,#recipesOutputV105,#recipesOutputV104,#recipesOutputV103,#recipesV101,#recipeListV101,#recipeEmptyV101,#recipeHeroV101{
  display:none!important;
}
.recipeCardV114{
  background:white;border:1px solid #e5e7eb;border-radius:26px;padding:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.08);margin-bottom:16px
}
.recipeTopV114{display:flex;gap:14px;align-items:flex-start}
.recipeImgV114{width:92px;height:92px;border-radius:20px;object-fit:cover;border:1px solid #e5e7eb;background:#f3f4f6;flex:0 0 92px}
.recipeTitleV114{margin:0;color:#4c1d95;font-size:22px;font-weight:1000}
.recipeMetaV114{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.recipePillV114{background:#f1f5f9;color:#334155;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}
.recipeIngredientsV114{margin-top:12px;padding:12px;border-radius:18px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;line-height:1.45}
.recipeActionsV114{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.recipeModalV114{position:fixed;inset:0;background:rgba(17,24,39,.66);display:none;align-items:flex-end;justify-content:center;z-index:100000;padding:16px}
.recipeModalV114.show{display:flex!important}
.recipeModalCardV114{width:min(780px,100%);max-height:90vh;overflow:auto;background:white;border-radius:32px;box-shadow:0 28px 90px rgba(0,0,0,.34)}
.recipeCoverV114{width:100%;height:220px;object-fit:cover;border-radius:32px 32px 0 0}
.recipeModalBodyV114{padding:18px}
.recipeStepsV114{margin:14px 0 0;padding:0;counter-reset:step;display:flex;flex-direction:column;gap:10px}
.recipeStepsV114 li{list-style:none;counter-increment:step;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:13px 13px 13px 48px;color:#334155;line-height:1.45;font-size:15px;position:relative}
.recipeStepsV114 li::before{content:counter(step);position:absolute;left:13px;top:13px;width:25px;height:25px;border-radius:999px;background:#6d28d9;color:white;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:1000}



/* ===== v115 elimina barra doppia Ricette - Categoria ===== */
#recipeStickyCategoryV114,
#recipeStickyCategoryV115{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  box-shadow:none !important;
}

#v114Badge{display:none!important;}

#v115Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}



/* ===== v116 sticky barra categoria ===== */
#v115Badge{display:none!important;}

#v116Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.recipeCategoryBtn.v114-open,
.recipeCategoryBtn.v113-open{
  position:sticky !important;
  top:12px !important;
  z-index:99990 !important;
  box-shadow:0 18px 40px rgba(37,99,235,.28)!important;
}



/* ===== v117 categoria fixed sempre visibile ===== */
#v116Badge,#v115Badge{display:none!important;}

#v117Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

#recipeFixedCategoryV117{
  position:fixed;
  left:50%;
  top:10px;
  transform:translateX(-50%);
  width:min(720px, calc(100vw - 22px));
  z-index:999998;
  border-radius:22px;
  padding:14px 18px;
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:white;
  font-weight:1000;
  box-shadow:0 18px 44px rgba(37,99,235,.32);
  cursor:pointer;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

#recipeFixedCategoryV117.show{
  display:flex!important;
}

#recipeFixedCategoryV117 .closeHint{
  font-size:13px;
  opacity:.95;
  font-weight:1000;
}

body.recipeFixedOpenV117{
  padding-top:72px!important;
}


#v118Badge{
position:fixed;
right:10px;
bottom:10px;
z-index:999999;
background:#111827;
color:white;
border-radius:999px;
padding:7px 11px;
font-size:11px;
font-weight:1000;
opacity:.78;
}



/* ===== v119 CARD RICETTE COMPATTA ===== */
#v118Badge,#v117Badge{display:none!important;}

#v119Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

/* Override card v114/v113 */
.recipeCardV114,
.recipeCardV113{
  padding:14px!important;
  border-radius:26px!important;
  margin-bottom:14px!important;
}

.recipeTopV114,
.recipeTopV113{
  display:grid!important;
  grid-template-columns:160px 1fr!important;
  gap:16px!important;
  align-items:stretch!important;
}

.recipeImgV114,
.recipeImgV113{
  width:160px!important;
  height:160px!important;
  border-radius:24px!important;
  object-fit:cover!important;
  flex:0 0 160px!important;
}

.recipeTitleV114,
.recipeTitleV113{
  font-size:30px!important;
  line-height:1.05!important;
  margin:0 0 10px!important;
}

.recipeIngredientsV114,
.recipeIngredientsV113{
  margin-top:0!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  font-size:17px!important;
  line-height:1.25!important;
  min-height:92px!important;
}

.recipeIngredientsV114 strong,
.recipeIngredientsV113 strong{
  display:block!important;
  font-size:18px!important;
  margin-bottom:5px!important;
}

.recipeMetaV114,
.recipeMetaV113{
  margin-top:12px!important;
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0,1fr))!important;
  gap:8px!important;
}

.recipePillV114,
.recipePillV113{
  font-size:14px!important;
  padding:8px 10px!important;
  text-align:center!important;
  justify-content:center!important;
}

.recipeActionsV114,
.recipeActionsV113{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:12px!important;
}

.recipeActionsV114 .btn,
.recipeActionsV113 .btn{
  width:100%!important;
  margin:0!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  font-size:16px!important;
}

@media(max-width:720px){
  .recipeTopV114,
  .recipeTopV113{
    grid-template-columns:118px 1fr!important;
    gap:12px!important;
  }

  .recipeImgV114,
  .recipeImgV113{
    width:118px!important;
    height:118px!important;
    border-radius:20px!important;
  }

  .recipeTitleV114,
  .recipeTitleV113{
    font-size:23px!important;
  }

  .recipeIngredientsV114,
  .recipeIngredientsV113{
    font-size:15px!important;
    min-height:72px!important;
  }

  .recipeMetaV114,
  .recipeMetaV113{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
  }

  .recipeActionsV114,
  .recipeActionsV113{
    grid-template-columns:1fr!important;
  }
}



/* ===== v120 CARD RICETTE FOTO GRANDE + INGREDIENTI INLINE ===== */
#v119Badge,#v118Badge,#v117Badge{display:none!important;}

#v120Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.recipeCardV114,
.recipeCardV113{
  padding:14px!important;
  border-radius:28px!important;
  margin-bottom:14px!important;
}

.recipeTopV114,
.recipeTopV113{
  display:grid!important;
  grid-template-columns:190px 1fr!important;
  gap:16px!important;
  align-items:stretch!important;
}

.recipeImgV114,
.recipeImgV113{
  width:190px!important;
  height:210px!important;
  border-radius:26px!important;
  object-fit:cover!important;
  flex:0 0 190px!important;
  box-shadow:0 12px 26px rgba(15,23,42,.16)!important;
}

.recipeTitleV114,
.recipeTitleV113{
  font-size:31px!important;
  line-height:1.02!important;
  margin:0 0 10px!important;
}

.recipeIngredientsV114,
.recipeIngredientsV113{
  margin-top:0!important;
  padding:12px 13px!important;
  border-radius:18px!important;
  font-size:0!important;
  line-height:1!important;
  min-height:auto!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-content:flex-start!important;
  gap:7px!important;
  background:#ecfdf5!important;
}

.recipeIngredientsV114 strong,
.recipeIngredientsV113 strong{
  width:100%!important;
  display:block!important;
  font-size:17px!important;
  line-height:1!important;
  margin-bottom:4px!important;
}

/* trasforma le righe ingredienti in pill compatte anche se sono separate da <br> */
.recipeIngredientsV114 br,
.recipeIngredientsV113 br{
  display:none!important;
}

.recipeIngredientsV114:not(:empty),
.recipeIngredientsV113:not(:empty){
  color:#166534!important;
}

/* Il testo dopo i br rimane testo puro: lo rendiamo compatto con line-height controllata */
.recipeIngredientsV114,
.recipeIngredientsV113{
  font-size:16px!important;
  line-height:1.25!important;
}

.recipeMetaV114,
.recipeMetaV113{
  margin-top:12px!important;
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0,1fr))!important;
  gap:7px!important;
}

.recipePillV114,
.recipePillV113{
  font-size:13px!important;
  padding:8px 8px!important;
  text-align:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}

.recipeActionsV114,
.recipeActionsV113{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:12px!important;
}

.recipeActionsV114 .btn,
.recipeActionsV113 .btn{
  width:100%!important;
  margin:0!important;
  padding:13px 14px!important;
  border-radius:18px!important;
  font-size:15px!important;
}

@media(max-width:720px){
  .recipeTopV114,
  .recipeTopV113{
    grid-template-columns:140px 1fr!important;
    gap:12px!important;
  }

  .recipeImgV114,
  .recipeImgV113{
    width:140px!important;
    height:170px!important;
    border-radius:22px!important;
  }

  .recipeTitleV114,
  .recipeTitleV113{
    font-size:24px!important;
    margin-bottom:8px!important;
  }

  .recipeIngredientsV114,
  .recipeIngredientsV113{
    font-size:14px!important;
    gap:5px!important;
    padding:10px!important;
  }

  .recipeIngredientsV114 strong,
  .recipeIngredientsV113 strong{
    font-size:15px!important;
  }

  .recipeMetaV114,
  .recipeMetaV113{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
    gap:6px!important;
  }

  .recipePillV114,
  .recipePillV113{
    font-size:12px!important;
    padding:7px 6px!important;
  }

  .recipeActionsV114,
  .recipeActionsV113{
    grid-template-columns:1fr!important;
  }
}



/* ===== v121 ingredienti a lato immagine ===== */
#v120Badge,#v119Badge,#v118Badge,#v117Badge{display:none!important;}

#v121Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.recipeCardV114,
.recipeCardV113{
  padding:14px!important;
  border-radius:28px!important;
}

.recipeTopV114,
.recipeTopV113{
  display:grid!important;
  grid-template-columns:190px 1fr!important;
  gap:18px!important;
  align-items:start!important;
}

.recipeImgV114,
.recipeImgV113{
  width:190px!important;
  height:210px!important;
  border-radius:26px!important;
  object-fit:cover!important;
}

.recipeTitleV114,
.recipeTitleV113{
  font-size:31px!important;
  line-height:1.02!important;
  margin:0 0 10px!important;
}

.recipeMetaV114,
.recipeMetaV113{
  margin-top:8px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

.recipePillV114,
.recipePillV113{
  font-size:13px!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}

.recipeIngredientsV114,
.recipeIngredientsV113{
  background:transparent!important;
  border:none!important;
  padding:0!important;
  margin-top:12px!important;
  min-height:auto!important;
  color:#166534!important;
  font-size:15px!important;
  line-height:1.5!important;
}

.recipeIngredientsV114 strong,
.recipeIngredientsV113 strong{
  display:block!important;
  font-size:15px!important;
  margin-bottom:4px!important;
}

.recipeActionsV114,
.recipeActionsV113{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:14px!important;
}

.recipeActionsV114 .btn,
.recipeActionsV113 .btn{
  width:100%!important;
  margin:0!important;
  border-radius:18px!important;
  padding:14px 16px!important;
}

@media(max-width:720px){

  .recipeTopV114,
  .recipeTopV113{
    grid-template-columns:135px 1fr!important;
    gap:12px!important;
  }

  .recipeImgV114,
  .recipeImgV113{
    width:135px!important;
    height:165px!important;
    border-radius:22px!important;
  }

  .recipeTitleV114,
  .recipeTitleV113{
    font-size:24px!important;
    margin-bottom:8px!important;
  }

  .recipeIngredientsV114,
  .recipeIngredientsV113{
    font-size:13px!important;
    line-height:1.45!important;
  }

  .recipePillV114,
  .recipePillV113{
    font-size:12px!important;
    padding:7px 8px!important;
  }

  .recipeActionsV114,
  .recipeActionsV113{
    grid-template-columns:1fr!important;
  }
}



/* ===== v122 ingredienti dentro colonna destra ===== */
#v121Badge,#v120Badge,#v119Badge,#v118Badge,#v117Badge{display:none!important;}

#v122Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.recipeCardV114,
.recipeCardV113{
  padding:14px!important;
  border-radius:28px!important;
}

.recipeTopV114,
.recipeTopV113{
  display:grid!important;
  grid-template-columns:190px 1fr!important;
  gap:18px!important;
  align-items:stretch!important;
}

.recipeImgV114,
.recipeImgV113{
  width:190px!important;
  height:210px!important;
  border-radius:26px!important;
  object-fit:cover!important;
  box-shadow:0 12px 26px rgba(15,23,42,.16)!important;
}

.recipeTopV114 > div,
.recipeTopV113 > div{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  min-width:0!important;
}

.recipeTitleV114,
.recipeTitleV113{
  font-size:31px!important;
  line-height:1.02!important;
  margin:0 0 9px!important;
}

.recipeMetaV114,
.recipeMetaV113{
  margin-top:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

.recipePillV114,
.recipePillV113{
  font-size:13px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}

.recipeIngredientsV114,
.recipeIngredientsV113{
  background:transparent!important;
  border:none!important;
  padding:0!important;
  margin:12px 0 0!important;
  min-height:auto!important;
  color:#166534!important;
  line-height:1.45!important;
}

.recipeIngredientsV114 strong,
.recipeIngredientsV113 strong{
  display:block!important;
  font-size:14px!important;
  margin:0 0 6px!important;
  color:#166534!important;
}

.ingredientsInlineV122{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  align-items:flex-start!important;
  max-width:100%!important;
}

.ingredientChipV122{
  display:inline-flex!important;
  align-items:center!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:rgba(22,101,52,.08)!important;
  border:1px solid rgba(22,101,52,.15)!important;
  color:#166534!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.recipeActionsV114,
.recipeActionsV113{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:14px!important;
}

.recipeActionsV114 .btn,
.recipeActionsV113 .btn{
  width:100%!important;
  margin:0!important;
  border-radius:18px!important;
  padding:14px 16px!important;
}

@media(max-width:720px){
  .recipeTopV114,
  .recipeTopV113{
    grid-template-columns:135px 1fr!important;
    gap:12px!important;
  }

  .recipeImgV114,
  .recipeImgV113{
    width:135px!important;
    height:172px!important;
    border-radius:22px!important;
  }

  .recipeTitleV114,
  .recipeTitleV113{
    font-size:24px!important;
    margin-bottom:8px!important;
  }

  .recipePillV114,
  .recipePillV113{
    font-size:11px!important;
    padding:6px 7px!important;
  }

  .ingredientChipV122{
    font-size:11px!important;
    padding:5px 7px!important;
  }

  .ingredientsInlineV122{
    gap:5px!important;
  }

  .recipeActionsV114,
  .recipeActionsV113{
    grid-template-columns:1fr!important;
  }
}



/* ===== v123 Lando corsie ===== */
#v122Badge,#v121Badge,#v120Badge,#v119Badge,#v118Badge,#v117Badge{display:none!important;}

#v123Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.landoAisleSuggestion{
  display:none;
  margin-top:8px;
  padding:10px 12px;
  border-radius:16px;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  color:#312e81;
  font-size:13px;
  line-height:1.35;
}

.landoSuggestTop{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  font-weight:800;
}

.landoSuggestSub{
  margin-top:4px;
  font-weight:900;
  color:#4c1d95;
}

.landoSuggestItems{
  margin-top:4px;
  color:#475569;
  font-size:12px;
}

.landoMiniBtn{
  border:none;
  border-radius:999px;
  padding:6px 10px;
  background:#2563eb;
  color:white;
  font-weight:900;
  cursor:pointer;
}

#landoAisleMapList{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:12px;
  max-height:420px;
  overflow:auto;
  padding-right:4px;
}

.landoAisleRow{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:10px;
  align-items:start;
  padding:10px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}

.landoAisleNum{
  width:42px;
  height:42px;
  border-radius:16px;
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:white;
  font-size:20px;
  font-weight:1000;
  display:flex;
  align-items:center;
  justify-content:center;
}

.landoAisleRow strong{
  color:#4c1d95;
}



/* ===== v124 supermercati/corsie scoped ===== */
#v123Badge,#v122Badge,#v121Badge,#v120Badge,#v119Badge,#v118Badge,#v117Badge{display:none!important;}

#v124Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

#landoAisleMapCard{
  display:none!important;
}

.marketAisleSuggestionV124{
  display:none;
  margin-top:8px;
  padding:10px 12px;
  border-radius:16px;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  color:#312e81;
  font-size:13px;
  line-height:1.35;
}

.marketSuggestTop{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  font-weight:800;
}

.marketSuggestSub{
  margin-top:4px;
  font-weight:900;
  color:#4c1d95;
}

.marketSuggestItems{
  margin-top:4px;
  color:#475569;
  font-size:12px;
}

.marketMiniBtn{
  border:none;
  border-radius:999px;
  padding:6px 10px;
  background:#2563eb;
  color:white;
  font-weight:900;
  cursor:pointer;
}

#aisleScopedListV124{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:12px;
  max-height:360px;
  overflow:auto;
  padding-right:4px;
}

.superAisleRowV124{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:10px;
  align-items:start;
  padding:10px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}

.superAisleNumV124{
  width:42px;
  height:42px;
  border-radius:16px;
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:white;
  font-size:20px;
  font-weight:1000;
  display:flex;
  align-items:center;
  justify-content:center;
}

.superAisleRowV124 strong{
  color:#4c1d95;
}



/* ===== v125 carrello supermercato scoped ===== */
#v124Badge,#v123Badge,#v122Badge,#v121Badge,#v120Badge,#v119Badge,#v118Badge,#v117Badge{display:none!important;}

#v125Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}



/* ===== v126 ricette smistate per archivio supermercato ===== */
#v125Badge,#v124Badge,#v123Badge,#v122Badge,#v121Badge,#v120Badge,#v119Badge,#v118Badge,#v117Badge{display:none!important;}

#v126Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.marketScopeNoteV126{
  margin-top:7px;
  padding:9px 11px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#475569;
  font-size:12px;
  line-height:1.35;
}



/* ===== v127 scelta supermercato ingredienti mancanti ===== */
#v126Badge,#v125Badge,#v124Badge,#v123Badge,#v122Badge{display:none!important;}

#v127Badge{display:none!important;}
#v128Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.missingMarketModalV127{
  position:fixed;
  inset:0;
  z-index:1000000;
  background:rgba(15,23,42,.62);
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:16px;
}

.missingMarketModalV127.show{
  display:flex!important;
}

.missingMarketCardV127{
  width:min(620px,100%);
  background:white;
  border-radius:30px;
  padding:20px;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}

.missingMarketCardV127 h2{
  margin:0 0 8px;
  color:#4c1d95;
}

.missingMarketCardV127 .muted{
  color:#64748b;
  line-height:1.4;
  margin:0 0 14px;
}

#missingListV127{
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  padding:12px;
  border-radius:18px;
  margin-bottom:14px;
  font-weight:800;
}

.missingItemV127{
  margin:4px 0;
}

.labelV127{
  display:block;
  margin:10px 0 6px;
  font-weight:900;
  color:#334155;
}

.missingActionsV127{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}

@media(max-width:720px){
  .missingActionsV127{
    grid-template-columns:1fr;
  }
}



/* ===== v128 popup destinazione supermercato corretta ===== */
#v127Badge,#v126Badge,#v125Badge,#v124Badge{display:none!important;}

#v128Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.missingPreviewV128{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  color:#312e81;
  font-size:13px;
  font-weight:800;
}



/* ===== v129 popup utente + supermercato ===== */
#v128Badge,#v127Badge,#v126Badge,#v125Badge{display:none!important;}

#v129Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.startupModalV129{
  position:fixed;
  inset:0;
  z-index:1000001;
  background:rgba(15,23,42,.68);
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:16px;
}

.startupModalV129.show{
  display:flex!important;
}

.startupCardV129{
  width:min(760px,100%);
  background:white;
  border-radius:32px;
  padding:22px;
  box-shadow:0 34px 100px rgba(0,0,0,.38);
}

.startupHeadV129 h2{
  margin:0 0 6px;
  color:#4c1d95;
  font-size:26px;
}

.startupHeadV129 p{
  margin:0 0 18px;
  color:#64748b;
  line-height:1.4;
}

.startupGridV129{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.startupGridV129 label{
  display:block;
  font-weight:1000;
  color:#334155;
  margin-bottom:6px;
}

.startupHelpV129{
  margin-top:6px;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}

.startupPreviewV129{
  margin-top:14px;
  padding:12px 14px;
  border-radius:18px;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  color:#312e81;
  font-weight:800;
}

.startupActionsV129{
  margin-top:16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

body.startupLockedV129{
  overflow:hidden;
}

.userMarketHeaderV129{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  margin-bottom:14px;
  border-radius:22px;
  background:linear-gradient(135deg,#f5f3ff,#eff6ff);
  border:1px solid #ddd6fe;
  color:#334155;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}

.userMarketSmallV129{
  color:#64748b;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.userMarketTextV129{
  font-size:16px;
  color:#4c1d95;
}

#changeUserMarketV129{
  border:none;
  border-radius:999px;
  padding:10px 14px;
  background:#2563eb;
  color:white;
  font-weight:1000;
  cursor:pointer;
}

@media(max-width:720px){
  .startupGridV129,
  .startupActionsV129{
    grid-template-columns:1fr;
  }

  .startupCardV129{
    border-radius:28px;
  }
}



/* ===== v130 popup centrale semplice ===== */
#v129Badge,#v128Badge,#v127Badge,#v126Badge{display:none!important;}
#userMarketHeaderV129{display:none!important;}

#v130Badge{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:999999;
  background:#111827;
  color:white;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:1000;
  opacity:.78;
}

.userMarketPopupV130{
  position:fixed;
  inset:0;
  z-index:1000002;
  background:rgba(15,23,42,.58);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
}

.userMarketPopupV130.show{
  display:flex!important;
}

.userMarketCardV130{
  width:min(620px,100%);
  background:white;
  border-radius:32px;
  padding:24px;
  box-shadow:0 35px 100px rgba(0,0,0,.38);
}

.userMarketCardV130 h2{
  margin:0 0 8px;
  color:#4c1d95;
  font-size:28px;
}

.introV130{
  margin:0 0 18px;
  color:#64748b;
  line-height:1.4;
}

.formBlockV130{
  margin-top:14px;
}

.formBlockV130 label{
  display:block;
  margin-bottom:6px;
  color:#334155;
  font-weight:1000;
}

.hintV130{
  margin-top:6px;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}

.popupPreviewV130{
  margin-top:16px;
  padding:12px 14px;
  border-radius:18px;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  color:#312e81;
  font-weight:800;
}

.actionsV130{
  margin-top:16px;
}

.actionsV130 .btn{
  width:100%;
}

body.popupRequiredV130{
  overflow:hidden;
}




/* ===== v153 RICETTE CARD PREMIUM REALE ===== */
#recipesV82 .recipeListV82{
  gap:24px !important;
}
#recipesV82 .recipeCardPremiumV153{
  background:#ffffff !important;
  border:1px solid rgba(226,232,240,.95) !important;
  border-radius:36px !important;
  box-shadow:0 18px 50px rgba(15,23,42,.08) !important;
  padding:34px !important;
  overflow:hidden !important;
}
#recipesV82 .recipePremiumGridV153{
  display:grid !important;
  grid-template-columns:minmax(300px,390px) minmax(0,1fr) !important;
  gap:34px !important;
  align-items:stretch !important;
}
#recipesV82 .recipePremiumImageWrapV153{
  min-height:430px !important;
}
#recipesV82 .recipePremiumImgV153{
  width:100% !important;
  height:100% !important;
  min-height:430px !important;
  border-radius:28px !important;
  object-fit:cover !important;
  border:none !important;
  background:#f3f4f6 !important;
  box-shadow:0 14px 30px rgba(15,23,42,.10) !important;
  display:block !important;
  flex:unset !important;
}
#recipesV82 .recipePremiumContentV153{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
#recipesV82 .recipePremiumTitleV153{
  margin:4px 0 0 !important;
  font-size:54px !important;
  line-height:.98 !important;
  color:#5522aa !important;
  font-weight:1000 !important;
  letter-spacing:-.055em !important;
}
#recipesV82 .recipePremiumCategoryV153{
  margin-top:14px !important;
  color:#6b7280 !important;
  font-size:24px !important;
  font-weight:850 !important;
}
#recipesV82 .recipePremiumPillsV153{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  gap:14px !important;
  margin-top:28px !important;
  padding-bottom:2px !important;
}
#recipesV82 .recipePremiumPillsV153 .recipePillV82{
  flex:0 0 auto !important;
  background:#f1f4f9 !important;
  border-radius:999px !important;
  padding:12px 20px !important;
  font-size:21px !important;
  font-weight:950 !important;
  color:#344054 !important;
  white-space:nowrap !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}
#recipesV82 .recipeDividerV153{
  height:1px !important;
  background:#e6eaf2 !important;
  margin:28px 0 !important;
}
#recipesV82 .recipeIngredientsTitleV153{
  font-size:30px !important;
  font-weight:1000 !important;
  color:#176b36 !important;
  margin-bottom:20px !important;
}
#recipesV82 .recipeIngredientsInlineV153{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:16px 34px !important;
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  color:#4b5563 !important;
  font-size:23px !important;
  font-weight:780 !important;
  line-height:1.35 !important;
}
#recipesV82 .recipeIngredientDotV153{
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  white-space:nowrap !important;
}
#recipesV82 .recipeIngredientDotV153::before{
  content:"•" !important;
  color:#5b21b6 !important;
  font-size:28px !important;
  line-height:0 !important;
}
#recipesV82 .recipeActionsPremiumV153{
  margin-top:auto !important;
}
#recipesV82 .recipeButtonPremiumV153{
  width:100% !important;
  border:none !important;
  border-radius:24px !important;
  padding:22px 26px !important;
  font-size:28px !important;
  font-weight:1000 !important;
  color:white !important;
  background:linear-gradient(90deg,#2f66f3,#3367ff) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  box-shadow:0 14px 30px rgba(47,102,243,.20) !important;
}
#recipesV82 .recipeButtonPremiumV153 span{
  font-size:46px !important;
  line-height:0 !important;
  margin-left:auto !important;
}
#recipesV82 .recipesMenuV82 .recipeBtnV82.active{
  text-align:left !important;
}

@media(max-width:980px){
  #recipesV82 .recipeCardPremiumV153{padding:22px !important;border-radius:30px !important;}
  #recipesV82 .recipePremiumGridV153{grid-template-columns:1fr !important;gap:24px !important;}
  #recipesV82 .recipePremiumImageWrapV153{min-height:300px !important;}
  #recipesV82 .recipePremiumImgV153{height:300px !important;min-height:300px !important;}
  #recipesV82 .recipePremiumTitleV153{font-size:40px !important;}
  #recipesV82 .recipePremiumCategoryV153{font-size:20px !important;}
  #recipesV82 .recipePremiumPillsV153 .recipePillV82{font-size:16px !important;padding:10px 14px !important;}
  #recipesV82 .recipeIngredientsTitleV153{font-size:24px !important;}
  #recipesV82 .recipeIngredientsInlineV153{font-size:18px !important;gap:11px 24px !important;}
  #recipesV82 .recipeButtonPremiumV153{font-size:21px !important;padding:19px 22px !important;}
}
@media(max-width:560px){
  #recipesV82 .recipeCardPremiumV153{padding:16px !important;border-radius:26px !important;}
  #recipesV82 .recipePremiumImgV153{height:255px !important;min-height:255px !important;border-radius:22px !important;}
  #recipesV82 .recipePremiumTitleV153{font-size:31px !important;}
  #recipesV82 .recipePremiumCategoryV153{font-size:17px !important;}
  #recipesV82 .recipePremiumPillsV153 .recipePillV82{font-size:13px !important;padding:9px 11px !important;}
  #recipesV82 .recipeIngredientsTitleV153{font-size:20px !important;margin-bottom:14px !important;}
  #recipesV82 .recipeIngredientsInlineV153{font-size:15px !important;gap:8px 16px !important;}
  #recipesV82 .recipeIngredientDotV153::before{font-size:22px !important;}
  #recipesV82 .recipeButtonPremiumV153{font-size:17px !important;padding:16px 18px !important;border-radius:18px !important;}
}

/* ===== v153 legacy disabilitato ===== */
#__old_buildBadgeV153{display:none!important;visibility:hidden!important;}
#__old_buildBadgeV153{
  position:fixed;right:14px;bottom:14px;z-index:2147483647;
  background:#1f2937;color:#fff;font-weight:1000;font-size:17px;
  padding:12px 18px;border-radius:999px;box-shadow:0 10px 24px rgba(0,0,0,.22);
  line-height:1;animation:none!important;
}
#recipesV153{display:block!important;margin-top:0;}
#recipesV153 *{box-sizing:border-box;}
.recipesHeaderV153{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:6px 0 18px;padding:0 2px;
}
.recipesHeaderV153 h2{margin:0;color:#111827;font-size:30px;font-weight:1000;letter-spacing:-.03em;}
.recipesHeaderV153 p{margin:6px 0 0;color:#64748b;font-size:16px;font-weight:650;}
.recipesToolsV153{display:flex;align-items:center;gap:12px;}
.newRecipeBtnV153,.filterBtnV153{
  border:1px solid #dbe2ee;background:white;border-radius:12px;padding:12px 16px;
  color:#334155;font-weight:900;cursor:pointer;box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.newRecipeBtnV153{background:#4038e8;color:white;border-color:#4038e8;font-size:16px;}
.recipeSearchV153{
  width:260px;border:1px solid #dbe2ee;border-radius:12px;padding:13px 16px;
  font-weight:750;color:#334155;background:#fff;outline:none;
}
.recipesMenuV153{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px;}
.recipeCatBtnV153{
  border:1px solid #ddd6fe;background:#ffffff;color:#5723b4;border-radius:999px;
  padding:11px 16px;font-weight:1000;cursor:pointer;box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.recipeCatBtnV153.active{background:#f4f1ff;border-color:#cfc4ff;}
.recipeHeroV153{
  display:flex;align-items:center;gap:16px;
  background:linear-gradient(135deg,#fbfaff,#f7faff);
  border:1px solid #ddd6fe;border-radius:20px;padding:20px 22px;margin:0 0 14px;
}
.heroIconV153{font-size:28px;}
.recipeHeroV153 h3{margin:0;color:#5522aa;font-size:25px;font-weight:1000;}
.recipeHeroV153 p{margin:6px 0 0;color:#64748b;font-size:15px;font-weight:650;}
.recipeListV153{display:flex;flex-direction:column;gap:14px;}
.recipeCardV153{
  width:100%;display:grid;grid-template-columns:360px minmax(0,1fr);gap:28px;
  background:#fff;border:1px solid #e5eaf2;border-radius:20px;padding:18px;
  box-shadow:0 12px 34px rgba(15,23,42,.075);position:relative;overflow:hidden;
}
.recipeImgBoxV153{width:100%;height:255px;border-radius:16px;overflow:hidden;background:#eef2f7;}
.recipeImgBoxV153 img{width:100%;height:100%;object-fit:cover;display:block;}
.recipeContentV153{position:relative;min-width:0;display:flex;flex-direction:column;padding:6px 8px 0 0;}
.recipeDotsV153{position:absolute;right:0;top:0;border:none;background:transparent;color:#475569;font-size:28px;font-weight:900;cursor:pointer;line-height:1;}
.recipeContentV153 h3{
  margin:0 42px 3px 0;color:#4f1fb0;font-size:31px;line-height:1.04;
  font-weight:1000;letter-spacing:-.045em;
}
.recipeCategoryV153{color:#64748b;font-size:16px;font-weight:800;margin-bottom:14px;}
.recipeMetaRowV153{display:flex;flex-wrap:nowrap;gap:16px;align-items:center;overflow-x:auto;padding-bottom:2px;}
.recipeMetaRowV153 span{
  flex:0 0 auto;background:#f1f4f8;color:#263244;border-radius:999px;
  padding:9px 17px;font-size:15px;font-weight:950;white-space:nowrap;
}
.recipeLineV153{height:1px;background:#e6ebf2;margin:16px 0;}
.ingredientsTitleV153{color:#11823c;font-size:18px;font-weight:1000;margin-bottom:12px;}
.ingredientsRowV153{display:flex;flex-wrap:wrap;gap:12px 42px;align-items:center;color:#334155;font-size:16px;font-weight:750;}
.ingredientsRowV153 span{display:inline-flex;align-items:center;white-space:nowrap;}
.ingredientsRowV153 span::before{content:'•';color:#5b21b6;font-size:20px;font-weight:1000;margin-right:12px;line-height:1;}
.recipeButtonV153{
  margin-top:auto;width:100%;border:none;border-radius:12px;padding:14px 18px;
  background:linear-gradient(90deg,#315fec,#2f63f4);color:white;font-size:17px;font-weight:1000;
  cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(47,99,244,.20);
}
.recipeButtonV153 b{font-size:34px;line-height:0;margin-left:auto;font-weight:500;}
.recipeEmptyV153{background:white;border:1px solid #e5e7eb;border-radius:20px;padding:24px;color:#64748b;font-weight:800;}
.recipeModalV153{position:fixed;inset:0;background:rgba(15,23,42,.60);display:none;align-items:center;justify-content:center;padding:18px;z-index:1000005;}
.recipeModalV153.show{display:flex!important;}
.recipeModalCardV153{width:min(780px,100%);max-height:92vh;overflow:auto;background:white;border-radius:28px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.35);position:relative;}
.recipeModalCardV153 img{width:100%;height:300px;object-fit:cover;border-radius:20px;display:block;}
.recipeModalCardV153 h2{color:#4f1fb0;font-size:38px;margin:18px 0 10px;line-height:1;}
.recipeModalCardV153 h3{color:#14532d;margin:20px 0 10px;}
.recipeModalCloseV153{position:absolute;right:18px;top:18px;width:42px;height:42px;border:none;border-radius:999px;background:#ef4444;color:white;font-size:26px;font-weight:900;cursor:pointer;}
.modalMetaV153{margin:10px 0 14px;}
@media(max-width:900px){
  .recipesHeaderV153{flex-direction:column;align-items:stretch;}
  .recipesToolsV153{flex-wrap:wrap;}
  .recipeSearchV153{flex:1;min-width:190px;}
  .recipeCardV153{grid-template-columns:1fr;gap:16px;padding:16px;}
  .recipeImgBoxV153{height:260px;}
  .recipeContentV153 h3{font-size:32px;}
}
@media(max-width:560px){
  .recipesToolsV153{display:none;}
  .recipeHeroV153{border-radius:18px;padding:17px;}
  .recipeCardV153{border-radius:18px;}
  .recipeImgBoxV153{height:230px;}
  .recipeMetaRowV153{gap:9px;}
  .recipeMetaRowV153 span{font-size:13px;padding:8px 11px;}
  .ingredientsRowV153{gap:9px 18px;font-size:14px;}
  .recipeButtonV153{font-size:15px;}
}

/* ===== v155 RICETTE CARD COMPATTA REALE - FOTO A SINISTRA, DATI A DESTRA ===== */
#buildBadgeV155{
  position:fixed!important;right:14px!important;bottom:14px!important;z-index:2147483647!important;
  background:#1f2937!important;color:#fff!important;font-weight:1000!important;font-size:17px!important;
  padding:12px 18px!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
  line-height:1!important;animation:none!important;
}
#recipesV155{display:block!important;margin-top:0!important;}
#recipesV155 *{box-sizing:border-box!important;}
.recipesTopV155{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:4px 0 14px!important;}
.recipesTopV155 h2{margin:0!important;color:#111827!important;font-size:24px!important;font-weight:1000!important;}
.recipesTopV155 p{margin:4px 0 0!important;color:#64748b!important;font-size:14px!important;font-weight:650!important;}
.recipesToolsV155{display:flex!important;align-items:center!important;gap:10px!important;}
.recipeSearchV155{width:230px!important;border:1px solid #dbe2ee!important;border-radius:12px!important;padding:11px 14px!important;font-weight:750!important;color:#334155!important;background:#fff!important;outline:none!important;}
.recipesMenuV155{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:0 0 12px!important;}
.recipeCatBtnV155{border:1px solid #ddd6fe!important;background:#fff!important;color:#5723b4!important;border-radius:999px!important;padding:10px 14px!important;font-weight:1000!important;cursor:pointer!important;box-shadow:0 6px 18px rgba(15,23,42,.04)!important;}
.recipeCatBtnV155.active{background:#f4f1ff!important;border-color:#cfc4ff!important;}
.recipeHeroV155{display:flex!important;align-items:center!important;gap:14px!important;background:linear-gradient(135deg,#fbfaff,#f7faff)!important;border:1px solid #ddd6fe!important;border-radius:18px!important;padding:16px 18px!important;margin:0 0 12px!important;}
.heroIconV155{font-size:24px!important;}
.recipeHeroV155 h3{margin:0!important;color:#5522aa!important;font-size:22px!important;font-weight:1000!important;}
.recipeHeroV155 p{margin:4px 0 0!important;color:#64748b!important;font-size:14px!important;font-weight:650!important;}
.recipeListV155{display:flex!important;flex-direction:column!important;gap:12px!important;}
.recipeCardV155{width:100%!important;display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:18px!important;background:#fff!important;border:1px solid #e5eaf2!important;border-radius:20px!important;padding:14px 18px!important;box-shadow:0 8px 24px rgba(15,23,42,.065)!important;position:relative!important;overflow:hidden!important;align-items:center!important;min-height:176px!important;}
.recipeImgBoxV155{width:150px!important;height:150px!important;border-radius:16px!important;overflow:hidden!important;background:#eef2f7!important;align-self:center!important;}
.recipeImgBoxV155 img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.recipeContentV155{position:relative!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:0 8px 0 0!important;}
.recipeDotsV155{position:absolute!important;right:0!important;top:0!important;border:none!important;background:transparent!important;color:#475569!important;font-size:24px!important;font-weight:900!important;cursor:pointer!important;line-height:1!important;}
.recipeContentV155 h3{margin:0 34px 0 0!important;color:#4f1fb0!important;font-size:24px!important;line-height:1.05!important;font-weight:1000!important;letter-spacing:-.035em!important;}
.recipeCategoryV155{color:#64748b!important;font-size:14px!important;font-weight:800!important;margin:0!important;}
.recipeMetaRowV155{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;align-items:center!important;overflow-x:auto!important;padding-bottom:1px!important;}
.recipeMetaRowV155 span{flex:0 0 auto!important;background:#f1f4f8!important;color:#263244!important;border-radius:999px!important;padding:7px 12px!important;font-size:13px!important;font-weight:950!important;white-space:nowrap!important;}
.recipeDetailsRowV155{display:grid!important;grid-template-columns:minmax(0,1fr) 235px!important;gap:18px!important;align-items:end!important;margin-top:2px!important;padding-top:10px!important;border-top:1px solid #e6ebf2!important;}
.recipeIngredientsBlockV155{min-width:0!important;}
.recipeIngredientsBlockV155 strong{display:block!important;color:#11823c!important;font-size:15px!important;font-weight:1000!important;margin-bottom:7px!important;}
.ingredientsRowV155{display:flex!important;flex-wrap:wrap!important;gap:7px 28px!important;align-items:center!important;color:#334155!important;font-size:14px!important;font-weight:750!important;}
.ingredientsRowV155 span{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;}
.ingredientsRowV155 span::before{content:'•'!important;color:#5b21b6!important;font-size:18px!important;font-weight:1000!important;margin-right:9px!important;line-height:1!important;}
.recipeButtonV155{width:100%!important;border:none!important;border-radius:12px!important;padding:12px 15px!important;background:linear-gradient(90deg,#315fec,#2f63f4)!important;color:white!important;font-size:15px!important;font-weight:1000!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 10px 22px rgba(47,99,244,.18)!important;white-space:nowrap!important;}
.recipeButtonV155 b{font-size:27px!important;line-height:0!important;margin-left:auto!important;font-weight:500!important;}
.recipeEmptyV155{background:white!important;border:1px solid #e5e7eb!important;border-radius:20px!important;padding:22px!important;color:#64748b!important;font-weight:800!important;}
.recipeModalV155{position:fixed!important;inset:0!important;background:rgba(15,23,42,.60)!important;display:none!important;align-items:center!important;justify-content:center!important;padding:18px!important;z-index:1000005!important;}
.recipeModalV155.show{display:flex!important;}
.recipeModalCardV155{width:min(760px,100%)!important;max-height:92vh!important;overflow:auto!important;background:white!important;border-radius:26px!important;padding:22px!important;box-shadow:0 30px 90px rgba(0,0,0,.35)!important;position:relative!important;}
.recipeModalCardV155 img{width:100%!important;height:280px!important;object-fit:cover!important;border-radius:18px!important;display:block!important;}
.recipeModalCardV155 h2{color:#4f1fb0!important;font-size:34px!important;margin:16px 0 10px!important;line-height:1!important;}
.recipeModalCardV155 h3{color:#14532d!important;margin:18px 0 10px!important;}
.recipeModalCloseV155{position:absolute!important;right:18px!important;top:18px!important;width:42px!important;height:42px!important;border:none!important;border-radius:999px!important;background:#ef4444!important;color:white!important;font-size:26px!important;font-weight:900!important;cursor:pointer!important;}
.modalMetaV155{margin:10px 0 14px!important;}
@media(max-width:760px){
  .recipesTopV155{flex-direction:column!important;align-items:stretch!important;}
  .recipeSearchV155{width:100%!important;}
  .recipeCardV155{grid-template-columns:110px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;min-height:auto!important;}
  .recipeImgBoxV155{width:110px!important;height:110px!important;border-radius:14px!important;}
  .recipeContentV155 h3{font-size:20px!important;}
  .recipeMetaRowV155{gap:7px!important;}
  .recipeMetaRowV155 span{font-size:11px!important;padding:6px 9px!important;}
  .recipeDetailsRowV155{grid-template-columns:1fr!important;gap:10px!important;align-items:start!important;}
  .recipeButtonV155{font-size:14px!important;padding:11px 13px!important;}
}
@media(max-width:480px){
  .recipeCardV155{grid-template-columns:1fr!important;}
  .recipeImgBoxV155{width:100%!important;height:190px!important;}
}

/* ===== v156 RICETTE: categoria unica sticky + card compatta ===== */
#buildBadgeV156{
  position:fixed!important;right:14px!important;bottom:14px!important;z-index:2147483647!important;
  background:#1f2937!important;color:#fff!important;font-weight:1000!important;font-size:17px!important;
  padding:12px 18px!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
  line-height:1!important;animation:none!important;
}
.recipesHiddenByV156{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;}
#recipesV156{display:block!important;margin-top:0!important;padding-bottom:70px!important;}
#recipesV156 *{box-sizing:border-box!important;}
.recipesHeaderV156{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:6px 0 12px!important;}
.recipesHeaderV156 h2{margin:0!important;color:#111827!important;font-size:26px!important;font-weight:1000!important;letter-spacing:-.02em!important;}
.recipesHeaderV156 p{margin:5px 0 0!important;color:#64748b!important;font-size:14px!important;font-weight:700!important;}
.recipeSearchV156{width:250px!important;max-width:100%!important;border:1px solid #dbe2ee!important;border-radius:13px!important;padding:11px 14px!important;font-weight:800!important;color:#334155!important;background:#fff!important;outline:none!important;}
.recipeCategoryStickyV156{position:sticky!important;top:8px!important;z-index:50!important;display:flex!important;align-items:center!important;gap:12px!important;background:linear-gradient(135deg,#6d28d9,#2563eb)!important;color:white!important;border:1px solid rgba(255,255,255,.45)!important;border-radius:20px!important;padding:13px 16px!important;margin:0 0 14px!important;box-shadow:0 14px 34px rgba(37,99,235,.18)!important;}
.categoryCloseV156{width:36px!important;height:36px!important;border:none!important;border-radius:999px!important;background:rgba(255,255,255,.20)!important;color:#fff!important;font-size:25px!important;font-weight:1000!important;line-height:1!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.categoryIconV156{font-size:22px!important;line-height:1!important;}
.categoryTextV156{min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important;}
.categoryTextV156 strong{font-size:20px!important;font-weight:1000!important;line-height:1.1!important;}
.categoryTextV156 span{font-size:13px!important;font-weight:700!important;opacity:.92!important;line-height:1.2!important;}
.recipesMenuV156{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:0 0 14px!important;}
.recipeCatBtnV156{border:1px solid #ddd6fe!important;background:#fff!important;color:#5723b4!important;border-radius:999px!important;padding:10px 14px!important;font-weight:1000!important;cursor:pointer!important;box-shadow:0 6px 18px rgba(15,23,42,.04)!important;}
.recipeListV156{display:flex!important;flex-direction:column!important;gap:12px!important;}
.recipeCardV156{width:100%!important;display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:18px!important;background:#fff!important;border:1px solid #e5eaf2!important;border-radius:20px!important;padding:14px 18px!important;box-shadow:0 8px 24px rgba(15,23,42,.065)!important;position:relative!important;overflow:hidden!important;align-items:center!important;min-height:176px!important;}
.recipeImgBoxV156{width:150px!important;height:150px!important;border-radius:16px!important;overflow:hidden!important;background:#eef2f7!important;align-self:center!important;}
.recipeImgBoxV156 img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.recipeContentV156{position:relative!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:0 8px 0 0!important;}
.recipeDotsV156{position:absolute!important;right:0!important;top:0!important;border:none!important;background:transparent!important;color:#475569!important;font-size:22px!important;font-weight:900!important;cursor:pointer!important;line-height:1!important;}
.recipeContentV156 h3{margin:0 34px 0 0!important;color:#4f1fb0!important;font-size:24px!important;line-height:1.05!important;font-weight:1000!important;letter-spacing:-.035em!important;}
.recipeCategoryV156{color:#64748b!important;font-size:14px!important;font-weight:800!important;margin:0!important;}
.recipeMetaRowV156{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;align-items:center!important;overflow-x:auto!important;padding-bottom:1px!important;}
.recipeMetaRowV156 span{flex:0 0 auto!important;background:#f1f4f8!important;color:#263244!important;border-radius:999px!important;padding:7px 12px!important;font-size:13px!important;font-weight:950!important;white-space:nowrap!important;}
.recipeDetailsRowV156{display:grid!important;grid-template-columns:minmax(0,1fr) 235px!important;gap:18px!important;align-items:end!important;margin-top:2px!important;padding-top:10px!important;border-top:1px solid #e6ebf2!important;}
.recipeIngredientsBlockV156{min-width:0!important;}
.recipeIngredientsBlockV156 strong{display:block!important;color:#11823c!important;font-size:15px!important;font-weight:1000!important;margin-bottom:7px!important;}
.ingredientsRowV156{display:flex!important;flex-wrap:wrap!important;gap:7px 28px!important;align-items:center!important;color:#334155!important;font-size:14px!important;font-weight:750!important;}
.ingredientsRowV156 span{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;}
.ingredientsRowV156 span::before{content:'•'!important;color:#5b21b6!important;font-size:18px!important;font-weight:1000!important;margin-right:9px!important;line-height:1!important;}
.recipeButtonV156{width:100%!important;border:none!important;border-radius:12px!important;padding:12px 15px!important;background:linear-gradient(90deg,#315fec,#2f63f4)!important;color:white!important;font-size:15px!important;font-weight:1000!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 10px 22px rgba(47,99,244,.18)!important;white-space:nowrap!important;}
.recipeButtonV156 b{font-size:27px!important;line-height:0!important;margin-left:auto!important;font-weight:500!important;}
.recipeEmptyV156{background:white!important;border:1px solid #e5e7eb!important;border-radius:20px!important;padding:22px!important;color:#64748b!important;font-weight:800!important;}
.recipeModalV156{position:fixed!important;inset:0!important;background:rgba(15,23,42,.60)!important;display:none!important;align-items:center!important;justify-content:center!important;padding:18px!important;z-index:1000005!important;}
.recipeModalV156.show{display:flex!important;}
.recipeModalCardV156{width:min(760px,100%)!important;max-height:92vh!important;overflow:auto!important;background:white!important;border-radius:26px!important;padding:22px!important;box-shadow:0 30px 90px rgba(0,0,0,.35)!important;position:relative!important;}
.recipeModalCardV156 img{width:100%!important;height:280px!important;object-fit:cover!important;border-radius:18px!important;display:block!important;}
.recipeModalCardV156 h2{color:#4f1fb0!important;font-size:34px!important;margin:16px 0 10px!important;line-height:1!important;}
.recipeModalCardV156 h3{color:#14532d!important;margin:18px 0 10px!important;}
.recipeModalCloseV156{position:absolute!important;right:18px!important;top:18px!important;width:42px!important;height:42px!important;border:none!important;border-radius:999px!important;background:#ef4444!important;color:white!important;font-size:26px!important;font-weight:900!important;cursor:pointer!important;}
.modalMetaV156{margin:10px 0 14px!important;}
@media(max-width:760px){
  .recipesHeaderV156{flex-direction:column!important;align-items:stretch!important;}
  .recipeSearchV156{width:100%!important;}
  .recipeCategoryStickyV156{top:6px!important;border-radius:18px!important;padding:12px!important;}
  .recipeCardV156{grid-template-columns:110px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;min-height:auto!important;}
  .recipeImgBoxV156{width:110px!important;height:110px!important;border-radius:14px!important;}
  .recipeContentV156 h3{font-size:20px!important;}
  .recipeMetaRowV156{gap:7px!important;}
  .recipeMetaRowV156 span{font-size:11px!important;padding:6px 9px!important;}
  .recipeDetailsRowV156{grid-template-columns:1fr!important;gap:10px!important;align-items:start!important;}
  .recipeButtonV156{font-size:14px!important;padding:11px 13px!important;}
}
@media(max-width:480px){
  .recipeCardV156{grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;}
  .recipeImgBoxV156{width:92px!important;height:92px!important;}
  .recipeMetaRowV156{flex-wrap:wrap!important;}
  .ingredientsRowV156{gap:5px 15px!important;font-size:13px!important;}
}

/* ===== v157 DETTAGLIO RICETTA: meno sterile + bottone carrello ===== */
#buildBadgeV156{display:none!important;}
#buildBadgeV157{
  position:fixed!important;right:14px!important;bottom:14px!important;z-index:2147483647!important;
  background:#1f2937!important;color:#fff!important;font-weight:1000!important;font-size:17px!important;
  padding:12px 18px!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
  line-height:1!important;animation:none!important;
}
.recipeModalCardV157{
  width:min(820px,calc(100vw - 28px))!important;
  max-height:92vh!important;
  overflow:auto!important;
  padding:20px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%)!important;
}
.recipeModalTopV157{
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:stretch!important;
}
.recipeModalImgV157{
  width:250px!important;
  height:250px!important;
  object-fit:cover!important;
  border-radius:22px!important;
  display:block!important;
  box-shadow:0 12px 26px rgba(15,23,42,.10)!important;
}
.recipeModalIntroV157{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:10px!important;
  padding-right:36px!important;
}
.recipeModalMiniV157{
  display:inline-flex!important;
  align-self:flex-start!important;
  background:#f3f0ff!important;
  color:#5b21b6!important;
  border:1px solid #ddd6fe!important;
  border-radius:999px!important;
  padding:7px 12px!important;
  font-size:13px!important;
  font-weight:950!important;
}
.recipeModalCardV157 h2{
  color:#4f1fb0!important;
  font-size:34px!important;
  line-height:1.05!important;
  margin:0!important;
  font-weight:1000!important;
  letter-spacing:-.035em!important;
}
.recipeAddCartV157{
  margin-top:6px!important;
  border:none!important;
  border-radius:16px!important;
  padding:15px 18px!important;
  background:linear-gradient(90deg,#16a34a,#22c55e)!important;
  color:white!important;
  font-size:17px!important;
  font-weight:1000!important;
  cursor:pointer!important;
  box-shadow:0 12px 28px rgba(34,197,94,.22)!important;
}
.recipeModalSectionV157{
  margin-top:18px!important;
  background:#ffffff!important;
  border:1px solid #e8edf5!important;
  border-radius:22px!important;
  padding:18px!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}
.recipeModalSectionV157 h3{
  margin:0 0 14px!important;
  color:#14532d!important;
  font-size:21px!important;
  font-weight:1000!important;
}
.recipeModalIngredientsV157{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.recipeModalIngredientsV157 span{
  background:#f4f7fb!important;
  color:#334155!important;
  border:1px solid #e3e9f2!important;
  border-radius:999px!important;
  padding:10px 14px!important;
  font-size:15px!important;
  font-weight:900!important;
}
.recipeModalSectionV157.prep{
  background:linear-gradient(135deg,#f8fafc,#ffffff)!important;
}
.recipeStepsV157{
  margin:0!important;
  padding-left:24px!important;
  color:#182033!important;
  font-size:17px!important;
  line-height:1.48!important;
  font-weight:700!important;
}
.recipeStepsV157 li{margin:8px 0!important;padding-left:4px!important;}
@media(max-width:760px){
  .recipeModalCardV157{padding:16px!important;border-radius:24px!important;}
  .recipeModalTopV157{grid-template-columns:1fr!important;gap:14px!important;}
  .recipeModalImgV157{width:100%!important;height:190px!important;border-radius:20px!important;}
  .recipeModalIntroV157{padding-right:0!important;}
  .recipeModalCardV157 h2{font-size:28px!important;}
  .recipeAddCartV157{font-size:16px!important;padding:14px 16px!important;}
}

/* ===== v158 RICETTE: categorie più pulite + bottoni compatti ===== */
#buildBadgeV156,#buildBadgeV157{display:none!important;}
#buildBadgeV158{
  position:fixed!important;right:14px!important;bottom:14px!important;z-index:2147483647!important;
  background:#1f2937!important;color:#fff!important;font-weight:1000!important;font-size:17px!important;
  padding:12px 18px!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
  line-height:1!important;animation:none!important;
}

/* header ricette meno pesante */
.recipesHeaderV156{margin:4px 0 10px!important;gap:10px!important;}
.recipesHeaderV156 h2{font-size:24px!important;}
.recipesHeaderV156 p{font-size:13px!important;}
.recipeSearchV156{height:44px!important;padding:9px 13px!important;border-radius:14px!important;}

/* categoria selezionata: non più barra gigante blu */
.recipeCategoryStickyV156{
  position:sticky!important;top:8px!important;z-index:50!important;
  width:fit-content!important;max-width:100%!important;
  display:inline-flex!important;align-items:center!important;gap:9px!important;
  background:#ffffff!important;color:#4f1fb0!important;
  border:1px solid #ddd6fe!important;border-radius:999px!important;
  padding:8px 12px!important;margin:0 0 12px!important;
  box-shadow:0 8px 22px rgba(79,31,176,.10)!important;
}
.categoryCloseV156{
  width:28px!important;height:28px!important;border-radius:999px!important;
  background:#f3f0ff!important;color:#5b21b6!important;
  border:1px solid #ddd6fe!important;font-size:18px!important;font-weight:1000!important;
}
.categoryIconV156{font-size:17px!important;}
.categoryTextV156{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;}
.categoryTextV156 strong{font-size:16px!important;line-height:1!important;}
.categoryTextV156 span{font-size:12px!important;color:#64748b!important;opacity:1!important;line-height:1!important;white-space:nowrap!important;}

/* elenco categorie: chips più ordinati, non barra gigante */
.recipesMenuV156{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0 0 12px!important;
}
.recipeCatBtnV156{
  border:1px solid #e5e7eb!important;background:#fff!important;color:#4f1fb0!important;
  border-radius:14px!important;padding:9px 10px!important;font-size:13px!important;font-weight:900!important;
  box-shadow:0 5px 14px rgba(15,23,42,.035)!important;text-align:left!important;
}
.recipeCatBtnV156:hover{background:#f5f3ff!important;border-color:#c4b5fd!important;}

/* card: bottone compatto, non gigante */
.recipeCardV156{padding:13px 16px!important;min-height:158px!important;}
.recipeImgBoxV156{width:132px!important;height:132px!important;border-radius:15px!important;}
.recipeContentV156 h3{font-size:22px!important;line-height:1.05!important;}
.recipeCategoryV156{font-size:13px!important;}
.recipeMetaRowV156{gap:8px!important;}
.recipeMetaRowV156 span{font-size:12px!important;padding:6px 10px!important;}
.recipeDetailsRowV156{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:14px!important;align-items:end!important;padding-top:9px!important;
}
.recipeIngredientsBlockV156 strong{font-size:14px!important;margin-bottom:6px!important;}
.ingredientsRowV156{font-size:13px!important;gap:6px 22px!important;}
.recipeButtonV156{
  width:auto!important;min-width:178px!important;max-width:220px!important;
  padding:9px 13px!important;border-radius:11px!important;font-size:13px!important;
  justify-self:end!important;box-shadow:0 7px 16px rgba(47,99,244,.16)!important;
}
.recipeButtonV156 b{font-size:21px!important;margin-left:10px!important;}

/* dettaglio ricetta: bottone carrello più elegante e meno enorme */
.recipeAddCartV157{
  align-self:flex-start!important;
  width:auto!important;min-width:230px!important;
  padding:12px 16px!important;border-radius:13px!important;font-size:15px!important;
  box-shadow:0 9px 20px rgba(34,197,94,.18)!important;
}
.recipeModalSectionV157{padding:15px!important;border-radius:18px!important;margin-top:14px!important;}
.recipeModalIngredientsV157 span{font-size:14px!important;padding:8px 11px!important;}
.recipeStepsV157{font-size:15px!important;line-height:1.45!important;}

@media(max-width:760px){
  .recipesMenuV156{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
  .recipeCatBtnV156{font-size:12px!important;padding:8px 9px!important;}
  .recipeCategoryStickyV156{top:6px!important;padding:7px 10px!important;margin-bottom:10px!important;}
  .categoryTextV156{flex-direction:column!important;align-items:flex-start!important;gap:2px!important;}
  .categoryTextV156 strong{font-size:15px!important;}
  .categoryTextV156 span{font-size:11px!important;white-space:normal!important;}
  .recipeCardV156{grid-template-columns:96px minmax(0,1fr)!important;gap:10px!important;padding:11px!important;}
  .recipeImgBoxV156{width:96px!important;height:96px!important;border-radius:13px!important;}
  .recipeContentV156 h3{font-size:18px!important;margin-right:24px!important;}
  .recipeMetaRowV156{flex-wrap:wrap!important;gap:6px!important;}
  .recipeMetaRowV156 span{font-size:10.5px!important;padding:5px 7px!important;}
  .recipeDetailsRowV156{grid-template-columns:1fr!important;gap:8px!important;}
  .ingredientsRowV156{font-size:12.5px!important;gap:5px 14px!important;}
  .recipeButtonV156{justify-self:start!important;width:auto!important;min-width:0!important;max-width:none!important;padding:8px 12px!important;font-size:12.5px!important;}
  .recipeAddCartV157{width:100%!important;min-width:0!important;font-size:14px!important;padding:11px 14px!important;}
}

/* ===== v159 Ricette pulite: categoria obbligatoria + search funzionante ===== */
#buildBadgeV159{
  position:fixed;right:14px;bottom:14px;z-index:999999;background:#1f2937;color:#fff;border-radius:999px;padding:10px 16px;font-size:16px;font-weight:900;box-shadow:0 10px 25px rgba(0,0,0,.18)
}
#recipesV159{display:block!important;position:relative!important;}
#recipesV82,#recipesOutputV113,#recipesOutputV112,#recipesOutputV108,#recipesOutputV107,#recipesOutputV106,#recipesOutputV105,#recipesOutputV104,#recipesOutputV103,#recipesV101,#recipeListV101,#recipeEmptyV101,#recipeHeroV101{display:none!important;}
.recipesHeadV159{margin:14px 0 12px;}
.recipesHeadV159 h2{font-size:28px;line-height:1;margin:0;color:#111827;font-weight:1000;}
.recipesHeadV159 p{margin:8px 0 0;color:#64748b;font-weight:700;font-size:15px;}
.recipeSearchV159{width:100%;height:48px;border:1px solid #dbe2f0;border-radius:16px;background:#fff;padding:0 18px;font-size:18px;font-weight:700;color:#111827;outline:none;box-shadow:0 6px 18px rgba(15,23,42,.04);margin:0 0 14px;}
.recipeSearchV159:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,.12);}
.categoryBarV159{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 14px;}
.categoryChipV159{height:38px;border:1px solid #e0d7ff;border-radius:16px;background:#fff;color:#4c1d95;font-size:15px;font-weight:900;text-align:left;padding:0 14px;box-shadow:0 5px 14px rgba(15,23,42,.045);cursor:pointer;}
.categoryChipV159.active{background:#f3efff;border-color:#bda9ff;}
.activeCategoryV159{position:sticky;top:8px;z-index:30;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ded6ff;border-radius:18px;padding:8px 12px;margin:8px 0 14px;box-shadow:0 12px 26px rgba(15,23,42,.08);color:#4c1d95;font-weight:1000;}
.activeCloseV159{width:34px;height:34px;border:0;border-radius:50%;background:#ede9fe;color:#6d28d9;font-size:22px;font-weight:1000;line-height:1;cursor:pointer;}
.recipeEmptyV159{background:#fff;border:1px dashed #d6ccff;border-radius:18px;padding:18px;color:#64748b;font-weight:800;text-align:center;margin:12px 0;}
.recipeListV159{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
.recipeCardV159{display:grid;grid-template-columns:132px 1fr;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:14px;box-shadow:0 6px 18px rgba(15,23,42,.055);align-items:stretch;}
.recipeImgV159{width:132px;height:132px;object-fit:cover;border-radius:18px;align-self:center;}
.recipeBodyV159{min-width:0;display:flex;flex-direction:column;gap:8px;}
.recipeTopLineV159{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;}
.recipeTopLineV159 h3{margin:0;color:#5723b4;font-size:22px;line-height:1.05;font-weight:1000;}
.recipeTopLineV159 p{margin:5px 0 0;color:#64748b;font-size:14px;font-weight:800;}
.recipeDotsV159{border:0;background:transparent;color:#334155;font-size:22px;font-weight:900;padding:0;line-height:1;}
.recipeMetaRowV159{display:flex;flex-wrap:wrap;gap:7px;}
.recipeMetaRowV159 span{background:#f1f5f9;border-radius:999px;padding:6px 10px;color:#334155;font-size:12px;font-weight:900;white-space:nowrap;}
.recipeIngredientsTitleV159{color:#15803d;font-size:15px;font-weight:1000;margin-top:2px;}
.recipeIngredientsV159{display:flex;flex-wrap:wrap;gap:6px 20px;color:#334155;font-weight:800;font-size:14px;line-height:1.25;}
.recipeIngredientsV159 span{white-space:nowrap;}
.recipeOpenV159{align-self:flex-end;min-width:190px;border:0;border-radius:14px;background:linear-gradient(90deg,#3164f4,#2f66f3);color:white;font-weight:1000;font-size:15px;padding:11px 16px;cursor:pointer;box-shadow:0 8px 16px rgba(47,102,243,.18);}
.recipeOpenV159 span{float:right;font-size:22px;line-height:.6;margin-left:10px;}
.recipeModalV159{position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:999998;display:none;align-items:center;justify-content:center;padding:18px;}
.recipeModalV159.show{display:flex;}
.recipeModalCardV159{position:relative;background:#fff;border-radius:28px;max-width:920px;width:100%;max-height:88vh;overflow:auto;padding:24px;box-shadow:0 30px 70px rgba(0,0,0,.28);}
.recipeModalCloseV159{position:absolute;right:18px;top:18px;width:38px;height:38px;border:0;border-radius:50%;background:#ede9fe;color:#6d28d9;font-size:24px;font-weight:1000;}
.recipeModalGridV159{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start;}
.recipeModalImgV159{width:280px;height:320px;border-radius:24px;object-fit:cover;}
.recipeModalCardV159 h2{font-size:36px;line-height:1;color:#5723b4;margin:0 44px 12px 0;font-weight:1000;}
.recipeModalCardV159 h3{color:#166534;margin:18px 0 10px;font-size:20px;}
.addToCartV159{margin:18px 0 4px;border:0;border-radius:16px;background:#16a34a;color:white;font-size:17px;font-weight:1000;padding:13px 18px;width:100%;}
.recipeStepsV159{margin:0;padding-left:22px;color:#111827;font-weight:700;line-height:1.45;}
.recipeStepsV159 li{margin-bottom:7px;}
@media(max-width:720px){
  .categoryBarV159{grid-template-columns:1fr 1fr;gap:8px;}
  .categoryChipV159{font-size:14px;height:36px;padding:0 10px;}
  .recipeCardV159{grid-template-columns:112px 1fr;padding:12px;gap:12px;border-radius:20px;}
  .recipeImgV159{width:112px;height:112px;border-radius:16px;}
  .recipeTopLineV159 h3{font-size:20px;}
  .recipeMetaRowV159 span{font-size:11px;padding:5px 8px;}
  .recipeIngredientsV159{font-size:13px;gap:5px 14px;}
  .recipeOpenV159{min-width:0;width:100%;font-size:14px;padding:10px 12px;}
  .recipeModalGridV159{grid-template-columns:1fr;}
  .recipeModalImgV159{width:100%;height:220px;}
  .recipeModalCardV159 h2{font-size:28px;}
}


/* ===== v160 FIX DEFINITIVO BADGE VERSIONE ===== */
#buildBadgeV155,#buildBadgeV156,#buildBadgeV157,#buildBadgeV158,#buildBadgeV159,
#v130Badge,#v129Badge,#v128Badge,#v127Badge,#v126Badge,#v125Badge,#v124Badge,#v123Badge,#v122Badge,
.versionBadge,#versionBadge{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#buildBadgeV160{
  position:fixed!important;
  right:14px!important;
  bottom:14px!important;
  z-index:2147483647!important;
  background:#1f2937!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 10px 25px rgba(0,0,0,.18)!important;
  animation:none!important;
  transform:none!important;
}


/* ===== v161 ricerca ingrediente + badge unico ===== */
#buildBadgeV161{
  position:fixed!important;
  right:14px!important;
  bottom:14px!important;
  z-index:2147483647!important;
  background:#1f2937!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 10px 25px rgba(0,0,0,.18)!important;
}
.activeCategoryV159 span{font-size:15px!important;}
.recipeEmptyV159{font-size:14px!important;padding:14px!important;}


/* ===== v162 RICETTE COMPLETE: categorie pulite + ricerca ingrediente + badge definitivo ===== */
#buildBadgeV162{
  position:fixed!important; right:14px!important; bottom:14px!important; z-index:2147483647!important;
  background:#1f2937!important; color:#fff!important; border-radius:999px!important;
  padding:10px 16px!important; font-size:16px!important; font-weight:900!important; line-height:1!important;
  box-shadow:0 10px 25px rgba(0,0,0,.18)!important; animation:none!important; transform:none!important;
}
#buildBadgeV142,#buildBadgeV155,#buildBadgeV156,#buildBadgeV157,#buildBadgeV158,#buildBadgeV159,#buildBadgeV160,#buildBadgeV161,.versionBadge,#versionBadge{display:none!important;}
.recipesV162{display:block;width:100%;}
.recipesHeadV162{margin:6px 0 14px;}
.recipesHeadV162 h2{font-size:28px;line-height:1.1;margin:0 0 8px;color:#111827;font-weight:900;}
.recipesHeadV162 p{font-size:15px;margin:0;color:#64748b;font-weight:700;}
.recipeSearchV162{width:100%;box-sizing:border-box;border:1px solid #d8deeb;border-radius:14px;background:#fff;padding:14px 16px;font-size:18px;font-weight:800;color:#111827;outline:none;margin:12px 0 14px;box-shadow:0 5px 18px rgba(15,23,42,.04);}
.recipeSearchV162:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,.12);}
.categoryBarV162{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 18px;}
.categoryChipV162{border:1px solid #e2e8f0;background:#fff;color:#5521b5;border-radius:14px;padding:10px 14px;font-size:15px;font-weight:900;text-align:left;box-shadow:0 5px 15px rgba(15,23,42,.05);cursor:pointer;}
.categoryChipV162.active{border-color:#8b5cf6;background:#f4f0ff;}
.activeCategoryV162{position:sticky;top:8px;z-index:50;align-items:center;gap:10px;width:max-content;max-width:100%;background:#fff;border:1px solid #d8ccff;border-radius:999px;padding:8px 14px;margin:8px 0 16px;box-shadow:0 8px 22px rgba(88,28,135,.08);color:#5521b5;font-weight:900;}
.activeCloseV162{width:30px;height:30px;border:none;border-radius:999px;background:#eee7ff;color:#6d28d9;font-size:22px;line-height:1;font-weight:900;cursor:pointer;}
.recipeEmptyV162{background:#fff;border:1px dashed #d8deeb;border-radius:16px;padding:14px 16px;color:#64748b;font-size:14px;font-weight:800;margin:12px 0;}
.recipeListV162{display:flex;flex-direction:column;gap:14px;margin-top:12px;}
.recipeCardV162{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;background:#fff;border:1px solid #e6e9f2;border-radius:20px;padding:14px;box-shadow:0 8px 24px rgba(15,23,42,.06);align-items:center;}
.recipeImgV162{width:130px;height:130px;object-fit:cover;border-radius:16px;display:block;}
.recipeBodyV162{min-width:0;}
.recipeTopLineV162{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.recipeTopLineV162 h3{font-size:22px;line-height:1.05;margin:0;color:#5521b5;font-weight:950;}
.recipeTopLineV162 p{font-size:14px;color:#64748b;font-weight:800;margin:5px 0 0;}
.recipeDotsV162{border:none;background:transparent;color:#334155;font-size:24px;font-weight:900;line-height:1;cursor:pointer;padding:0 4px;}
.recipeMetaRowV162{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 8px;}
.recipeMetaRowV162 span{background:#f1f4f9;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:900;color:#334155;white-space:nowrap;}
.recipeDividerV162{height:1px;background:#e7ebf3;margin:9px 0;}
.recipeIngredientsTitleV162{font-size:15px;font-weight:950;color:#15803d;margin:8px 0 6px;}
.recipeIngredientsV162{display:flex;gap:8px 18px;flex-wrap:wrap;color:#334155;font-size:14px;font-weight:850;}
.recipeIngredientsV162 span::first-letter{color:#6d28d9;}
.recipeOpenV162{margin-top:12px;background:#3164f4;color:#fff;border:none;border-radius:13px;padding:10px 14px;font-size:15px;font-weight:950;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:310px;margin-left:auto;box-shadow:0 8px 18px rgba(49,100,244,.22);}
.recipeOpenV162 span{font-size:22px;line-height:0;}
.recipeModalV162{position:fixed;inset:0;display:none;background:rgba(15,23,42,.55);z-index:2147483000;padding:22px;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.recipeModalV162.show{display:flex;}
.recipeModalCardV162{position:relative;background:#fff;border-radius:24px;width:min(960px,96vw);max-height:90vh;overflow:auto;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.25);}
.recipeModalCloseV162{position:absolute;top:14px;right:14px;width:36px;height:36px;border:none;border-radius:999px;background:#f1f5f9;color:#111827;font-size:24px;font-weight:900;cursor:pointer;z-index:2;}
.recipeModalGridV162{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start;}
.recipeModalImgV162{width:100%;height:300px;object-fit:cover;border-radius:20px;}
.recipeModalContentV162 h2{font-size:34px;line-height:1.05;color:#5521b5;margin:6px 44px 10px 0;font-weight:950;}
.recipeModalPanelV162{background:#f8fafc;border:1px solid #e6e9f2;border-radius:18px;padding:14px;margin:14px 0;}
.recipeModalPanelV162 h3{font-size:18px;color:#166534;margin:0 0 10px;font-weight:950;}
.addToCartV162{width:100%;border:none;border-radius:16px;background:#16a34a;color:#fff;font-size:16px;font-weight:950;padding:13px 16px;cursor:pointer;box-shadow:0 8px 18px rgba(22,163,74,.18);}
.recipeStepsV162{margin:0;padding-left:22px;color:#1f2937;font-size:15px;font-weight:650;line-height:1.45;}
.recipeStepsV162 li{margin-bottom:8px;}
@media(max-width:760px){
  .categoryBarV162{grid-template-columns:1fr 1fr;gap:8px;}
  .categoryChipV162{font-size:14px;padding:9px 11px;}
  .recipeCardV162{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px;border-radius:18px;}
  .recipeImgV162{width:112px;height:112px;border-radius:14px;}
  .recipeTopLineV162 h3{font-size:20px;}
  .recipeMetaRowV162 span{font-size:12px;padding:6px 9px;}
  .recipeOpenV162{max-width:100%;font-size:14px;padding:9px 12px;}
  .recipeModalGridV162{grid-template-columns:1fr;}
  .recipeModalImgV162{height:220px;}
  .recipeModalContentV162 h2{font-size:28px;}
}

/* ===== v163 UI compatta menu + ricette pulite responsive ===== */
#buildBadgeV142,#buildBadgeV155,#buildBadgeV156,#buildBadgeV157,#buildBadgeV158,#buildBadgeV159,#buildBadgeV160,#buildBadgeV161,#buildBadgeV162,.versionBadge,#versionBadge{display:none!important;visibility:hidden!important;}
#buildBadgeV163{position:fixed;right:14px;bottom:14px;background:#1f2937;color:#fff;font-weight:1000;font-size:17px;padding:10px 15px;border-radius:999px;z-index:2147483647;box-shadow:0 12px 28px rgba(15,23,42,.24);line-height:1;}

/* Home: bottoni più compatti, non una pila infinita */
.homeGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.homeTile{min-height:92px!important;border-radius:20px!important;padding:14px 16px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;}
.homeTileIcon{font-size:27px!important;margin-bottom:5px!important;}
.homeTileTitle{font-size:20px!important;line-height:1.05!important;}
.homeTileText{font-size:12px!important;line-height:1.25!important;margin-top:4px!important;}
@media(min-width:760px){.homeGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.homeTile{min-height:96px!important}}
@media(max-width:420px){.homeGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.homeTile{padding:12px!important;min-height:82px!important}.homeTileIcon{font-size:23px!important}.homeTileTitle{font-size:17px!important}.homeTileText{display:none!important}}

.recipesV163{display:block;width:100%;}
.recipesHeadV163{margin:6px 0 12px;}
.recipesHeadV163 h2{font-size:28px;line-height:1.05;margin:0 0 6px;color:#111827;font-weight:1000;}
.recipesHeadV163 p{font-size:15px;margin:0;color:#64748b;font-weight:750;}
.recipeSearchWrapV163{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d8deeb;border-radius:18px;padding:0 14px;margin:14px 0 16px;box-shadow:0 8px 22px rgba(15,23,42,.04);}
.recipeSearchWrapV163 span{font-size:20px;color:#64748b;}
.recipeSearchV163{width:100%;border:0;outline:none;background:transparent;padding:15px 0;font-size:15px;font-weight:750;color:#111827;}
.recipeSearchV163::placeholder{color:#64748b;}
.categoryBarV163{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 18px;}
.categoryChipV163{height:46px;border:1px solid #e2e8f0;background:#fff;color:#111827;border-radius:14px;padding:0 14px;font-size:14px;font-weight:850;text-align:left;box-shadow:0 8px 18px rgba(15,23,42,.055);cursor:pointer;display:flex;align-items:center;gap:10px;white-space:nowrap;overflow:hidden;}
.categoryChipV163 span{font-size:18px;min-width:22px;text-align:center;}
.categoryChipV163 strong{font-weight:900;overflow:hidden;text-overflow:ellipsis;}
.categoryChipV163.active{border-color:#8b5cf6;background:#f4f0ff;color:#5521b5;}
.activeCategoryV163{position:sticky;top:58px;z-index:25;width:max-content;max-width:100%;align-items:center;gap:10px;background:#fff;border:1px solid #d8cffd;border-radius:999px;padding:8px 14px;margin:10px 0 16px;color:#5521b5;font-weight:950;box-shadow:0 10px 24px rgba(109,40,217,.08);}
.activeCloseV163{width:30px;height:30px;border-radius:50%;border:0;background:#ede9fe;color:#6d28d9;font-size:22px;font-weight:1000;line-height:1;cursor:pointer;}
.recipeEmptyV163{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:28px 18px;color:#64748b;text-align:center;font-size:14px;font-weight:750;margin:16px 0;box-shadow:0 8px 20px rgba(15,23,42,.04);}
.recipeEmptyV163 h3{font-size:17px;color:#111827;margin:8px 0 6px;font-weight:1000;}
.recipeEmptyV163 p{margin:0;color:#64748b;font-size:13px;font-weight:700;}
.emptyIconV163{width:74px;height:74px;margin:0 auto 8px;border-radius:50%;background:#ede9fe;display:flex;align-items:center;justify-content:center;font-size:34px;}
.recipeListV163{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
.recipeCardV163{display:grid;grid-template-columns:122px minmax(0,1fr);gap:14px;background:#fff;border:1px solid #e6e9f2;border-radius:20px;padding:12px;box-shadow:0 8px 24px rgba(15,23,42,.055);align-items:center;}
.recipeImgV163{width:122px;height:122px;object-fit:cover;border-radius:16px;display:block;}
.recipeBodyV163{min-width:0;}
.recipeTopLineV163{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.recipeTopLineV163 h3{font-size:21px;line-height:1.05;margin:0;color:#5521b5;font-weight:1000;}
.recipeTopLineV163 p{font-size:13px;color:#64748b;font-weight:800;margin:4px 0 0;}
.recipeDotsV163{border:none;background:transparent;color:#334155;font-size:22px;font-weight:900;line-height:1;cursor:pointer;padding:0 2px;}
.recipeMetaRowV163{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0 7px;}
.recipeMetaRowV163 span{background:#f1f4f9;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;color:#334155;white-space:nowrap;}
.recipeIngredientsTitleV163{font-size:14px;font-weight:1000;color:#15803d;margin:8px 0 5px;}
.recipeIngredientsV163{display:flex;gap:6px 18px;flex-wrap:wrap;color:#334155;font-size:13px;font-weight:800;line-height:1.3;}
.recipeIngredientsV163 span{white-space:nowrap;}
.recipeOpenV163{margin-top:10px;background:#3164f4;color:#fff;border:none;border-radius:12px;padding:9px 13px;font-size:14px;font-weight:950;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:240px;margin-left:auto;box-shadow:0 8px 18px rgba(49,100,244,.18);}
.recipeOpenV163 span{font-size:20px;line-height:0;}
.recipeModalV163{position:fixed;inset:0;display:none;background:rgba(15,23,42,.55);z-index:2147483000;padding:18px;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.recipeModalV163.show{display:flex;}
.recipeModalCardV163{position:relative;background:#fff;border-radius:24px;width:min(940px,96vw);max-height:90vh;overflow:auto;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.25);}
.recipeModalCloseV163{position:absolute;top:14px;right:14px;width:36px;height:36px;border:none;border-radius:999px;background:#f1f5f9;color:#111827;font-size:24px;font-weight:900;cursor:pointer;z-index:2;}
.recipeModalGridV163{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start;}
.recipeModalImgV163{width:100%;height:280px;object-fit:cover;border-radius:20px;}
.recipeModalContentV163 h2{font-size:32px;line-height:1.05;color:#5521b5;margin:4px 44px 10px 0;font-weight:1000;}
.recipeModalPanelV163{background:#f8fafc;border:1px solid #e6e9f2;border-radius:18px;padding:14px;margin:14px 0;}
.recipeModalPanelV163 h3{font-size:18px;color:#166534;margin:0 0 10px;font-weight:1000;}
.addToCartV163{border:0;border-radius:14px;background:#16a34a;color:white;font-weight:1000;font-size:15px;padding:12px 16px;cursor:pointer;box-shadow:0 10px 20px rgba(22,163,74,.18);width:100%;}
.recipeStepsV163{margin:0;padding-left:22px;color:#1f2937;font-size:15px;font-weight:650;line-height:1.45;}
.recipeStepsV163 li{margin-bottom:8px;}
@media(min-width:760px){.categoryBarV163{grid-template-columns:repeat(4,minmax(0,1fr));}.categoryChipV163{height:50px;font-size:15px}.recipeCardV163{grid-template-columns:150px minmax(0,1fr);}.recipeImgV163{width:150px;height:150px}.recipeTopLineV163 h3{font-size:23px}.recipeOpenV163{max-width:280px}}
@media(max-width:520px){.recipesHeadV163 h2{font-size:25px}.recipesHeadV163 p{font-size:13px}.recipeSearchV163{font-size:13px;padding:12px 0}.categoryBarV163{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.categoryChipV163{height:39px;border-radius:12px;padding:0 10px;font-size:12px;gap:7px}.categoryChipV163 span{font-size:16px;min-width:18px}.recipeCardV163{grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px;border-radius:18px}.recipeImgV163{width:92px;height:92px;border-radius:14px}.recipeTopLineV163 h3{font-size:17px}.recipeTopLineV163 p{font-size:12px}.recipeDotsV163{font-size:20px}.recipeMetaRowV163{gap:5px;margin:7px 0 5px}.recipeMetaRowV163 span{font-size:10.5px;padding:5px 7px}.recipeIngredientsTitleV163{font-size:13px}.recipeIngredientsV163{font-size:12px;gap:4px 11px}.recipeOpenV163{font-size:12.5px;padding:8px 10px;max-width:100%}.recipeModalGridV163{grid-template-columns:1fr}.recipeModalImgV163{height:210px}.recipeModalContentV163 h2{font-size:25px}.recipeModalCardV163{padding:16px;border-radius:20px}.emptyIconV163{width:60px;height:60px;font-size:28px}}

/* ===== v164: Home/menu compatti + ricette pulite desktop/mobile ===== */
#buildBadgeV142,#buildBadgeV155,#buildBadgeV156,#buildBadgeV157,#buildBadgeV158,#buildBadgeV159,#buildBadgeV160,#buildBadgeV161,#buildBadgeV162,#buildBadgeV163,.versionBadge,#versionBadge{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
#buildBadgeV164{
  position:fixed!important;right:14px!important;bottom:14px!important;z-index:2147483647!important;
  background:#1f2937!important;color:#fff!important;border-radius:999px!important;padding:10px 16px!important;
  font-size:16px!important;font-weight:900!important;line-height:1!important;box-shadow:0 10px 25px rgba(0,0,0,.18)!important;
  animation:none!important;transform:none!important;
}

/* Home: non più card enormi una sotto l'altra */
section#home .homeGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:14px!important;
}
section#home .homeTile{
  min-height:82px!important;
  padding:13px 14px!important;
  border-radius:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:left!important;
  box-shadow:0 8px 22px rgba(15,23,42,.055)!important;
}
section#home .homeTile > div{
  display:grid!important;
  grid-template-columns:38px 1fr!important;
  grid-template-areas:"icon title" "icon text"!important;
  column-gap:12px!important;
  align-items:center!important;
  width:100%!important;
}
section#home .homeTileIcon{
  grid-area:icon!important;
  font-size:28px!important;
  margin:0!important;
  width:38px!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
section#home .homeTileTitle{
  grid-area:title!important;
  font-size:19px!important;
  line-height:1.05!important;
  margin:0!important;
  font-weight:1000!important;
}
section#home .homeTileText{
  grid-area:text!important;
  font-size:12px!important;
  line-height:1.2!important;
  margin:3px 0 0!important;
  color:#64748b!important;
}
@media(min-width:760px){
  section#home .homeGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  section#home .homeTile{min-height:88px!important;}
}
@media(max-width:460px){
  section#home .homeGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
  section#home .homeTile{min-height:72px!important;padding:10px!important;border-radius:17px!important;}
  section#home .homeTile > div{grid-template-columns:30px 1fr!important;column-gap:8px!important;}
  section#home .homeTileIcon{font-size:22px!important;width:30px!important;height:30px!important;}
  section#home .homeTileTitle{font-size:15px!important;}
  section#home .homeTileText{display:none!important;}
}

/* Barra navigazione più compatta e pratica su PC/smartphone */
.topMenu{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  padding:8px!important;
  border-radius:22px!important;
}
.topMenuBtn{
  min-height:42px!important;
  border-radius:16px!important;
  font-size:14px!important;
  font-weight:900!important;
  padding:8px 6px!important;
}
@media(max-width:460px){
  .topMenu{gap:6px!important;padding:6px!important;border-radius:18px!important;}
  .topMenuBtn{min-height:36px!important;font-size:12px!important;padding:6px 4px!important;}
}

/* Ricette v164: niente ridondanze sotto, risultati solo dopo categoria o ricerca */
.recipesV163{display:block!important;width:100%!important;}
.recipesHeadV163{margin:12px 0 12px!important;}
.recipesHeadV163 h2{font-size:28px!important;line-height:1.05!important;margin:0!important;color:#111827!important;font-weight:1000!important;}
.recipesHeadV163 p{margin:7px 0 0!important;color:#64748b!important;font-size:15px!important;font-weight:700!important;}
.recipeSearchWrapV163{height:48px!important;border:1px solid #d8deeb!important;border-radius:16px!important;background:#fff!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 14px!important;box-shadow:0 6px 18px rgba(15,23,42,.04)!important;margin:12px 0 18px!important;}
.recipeSearchWrapV163 > span{font-size:20px!important;opacity:.8!important;}
.recipeSearchV163{height:auto!important;width:100%!important;border:0!important;outline:0!important;background:transparent!important;font-size:15px!important;font-weight:700!important;color:#111827!important;padding:0!important;margin:0!important;box-shadow:none!important;}
.categoryBarV163{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0 0 18px!important;}
.categoryChipV163{height:42px!important;border:1px solid #e2e8f0!important;background:#fff!important;color:#4c1d95!important;border-radius:16px!important;padding:0 14px!important;display:flex!important;align-items:center!important;gap:10px!important;font-size:14px!important;font-weight:900!important;text-align:left!important;box-shadow:0 6px 16px rgba(15,23,42,.045)!important;cursor:pointer!important;}
.categoryChipV163 span{font-size:17px!important;}
.categoryChipV163.active{border-color:#8b5cf6!important;background:#f4f0ff!important;}
.activeCategoryV163{position:sticky!important;top:8px!important;z-index:50!important;display:flex;align-items:center!important;gap:9px!important;width:max-content!important;max-width:100%!important;background:#fff!important;border:1px solid #d8ccff!important;border-radius:999px!important;padding:7px 12px!important;margin:4px 0 14px!important;box-shadow:0 8px 22px rgba(88,28,135,.08)!important;color:#5521b5!important;font-size:14px!important;font-weight:1000!important;}
.activeCloseV163{width:28px!important;height:28px!important;border:none!important;border-radius:999px!important;background:#eee7ff!important;color:#6d28d9!important;font-size:20px!important;line-height:1!important;font-weight:1000!important;cursor:pointer!important;}
.recipeEmptyV163{background:#fff!important;border:1px solid #e6e9f2!important;border-radius:18px!important;padding:28px 18px!important;text-align:center!important;color:#64748b!important;font-weight:800!important;box-shadow:0 8px 22px rgba(15,23,42,.04)!important;}
.recipeEmptyV163 h3{margin:8px 0 4px!important;color:#111827!important;font-size:16px!important;}
.recipeEmptyV163 p{margin:0!important;font-size:13px!important;}
.emptyIconV163{font-size:42px!important;margin-bottom:6px!important;}
.recipeListV163{display:flex!important;flex-direction:column!important;gap:12px!important;margin-top:12px!important;}
.recipeCardV163{display:grid!important;grid-template-columns:128px minmax(0,1fr)!important;gap:16px!important;background:#fff!important;border:1px solid #e6e9f2!important;border-radius:20px!important;padding:14px!important;box-shadow:0 8px 24px rgba(15,23,42,.06)!important;align-items:center!important;}
.recipeImgV163{width:128px!important;height:128px!important;object-fit:cover!important;border-radius:16px!important;display:block!important;}
.recipeTopLineV163 h3{font-size:22px!important;line-height:1.05!important;margin:0!important;color:#5521b5!important;font-weight:1000!important;}
.recipeTopLineV163 p{font-size:13px!important;color:#64748b!important;font-weight:800!important;margin:4px 0 0!important;}
.recipeMetaRowV163{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:10px 0 8px!important;}
.recipeMetaRowV163 span{background:#f1f4f9!important;border-radius:999px!important;padding:6px 9px!important;font-size:12px!important;font-weight:900!important;color:#334155!important;white-space:nowrap!important;}
.recipeIngredientsTitleV163{font-size:14px!important;font-weight:1000!important;color:#15803d!important;margin:6px 0 6px!important;}
.recipeIngredientsV163{display:flex!important;gap:7px 18px!important;flex-wrap:wrap!important;color:#334155!important;font-weight:800!important;font-size:14px!important;line-height:1.25!important;}
.recipeOpenV163{align-self:flex-end!important;min-width:190px!important;border:0!important;border-radius:14px!important;background:linear-gradient(90deg,#3164f4,#2f66f3)!important;color:white!important;font-weight:1000!important;font-size:14px!important;padding:10px 14px!important;cursor:pointer!important;box-shadow:0 8px 16px rgba(47,102,243,.18)!important;margin-top:10px!important;}
@media(min-width:760px){.categoryBarV163{grid-template-columns:repeat(4,minmax(0,1fr))!important;}.categoryChipV163{height:44px!important;}.recipeCardV163{grid-template-columns:150px minmax(0,1fr)!important;}.recipeImgV163{width:150px!important;height:118px!important;}}
@media(max-width:460px){
  .recipesHeadV163 h2{font-size:24px!important;}.recipesHeadV163 p{font-size:13px!important;}
  .recipeSearchWrapV163{height:42px!important;border-radius:14px!important;margin:10px 0 14px!important;}.recipeSearchV163{font-size:13px!important;}
  .categoryBarV163{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}.categoryChipV163{height:38px!important;padding:0 10px!important;font-size:12px!important;border-radius:14px!important;}
  .recipeCardV163{grid-template-columns:96px minmax(0,1fr)!important;gap:10px!important;padding:11px!important;border-radius:18px!important;}
  .recipeImgV163{width:96px!important;height:96px!important;border-radius:14px!important;}
  .recipeTopLineV163 h3{font-size:18px!important;}.recipeTopLineV163 p{font-size:12px!important;}.recipeDotsV163{font-size:18px!important;}
  .recipeMetaRowV163{gap:5px!important;margin:7px 0!important;}.recipeMetaRowV163 span{font-size:10px!important;padding:5px 7px!important;}
  .recipeIngredientsTitleV163{font-size:13px!important;}.recipeIngredientsV163{font-size:12px!important;gap:5px 12px!important;}
  .recipeOpenV163{width:100%!important;min-width:0!important;font-size:12px!important;padding:9px 10px!important;border-radius:12px!important;}
}


/* ===== v165: menu alto a box quadrati sfumati + funzioni Home in griglia 3 colonne ===== */
#buildBadgeV142,#buildBadgeV155,#buildBadgeV156,#buildBadgeV157,#buildBadgeV158,#buildBadgeV159,#buildBadgeV160,#buildBadgeV161,#buildBadgeV162,#buildBadgeV163,#buildBadgeV164,.versionBadge,#versionBadge{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
#buildBadgeV165{
  position:fixed!important;right:14px!important;bottom:14px!important;z-index:2147483647!important;
  background:#1f2937!important;color:#fff!important;border-radius:999px!important;padding:10px 16px!important;
  font-size:16px!important;font-weight:900!important;line-height:1!important;box-shadow:0 10px 25px rgba(0,0,0,.18)!important;
  animation:none!important;transform:none!important;
}

/* Menu alto: ogni voce è un box quadrato/compatto, con sfumatura interna */
.topMenu{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  background:transparent!important;
  padding:0!important;
  margin:12px 0 16px!important;
  border-radius:0!important;
  box-shadow:none!important;
  position:sticky!important;
  top:0!important;
  z-index:40!important;
}
.topMenuBtn{
  min-height:68px!important;
  border:1px solid #e4e7ef!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7f4ff 100%)!important;
  color:#1f2937!important;
  font-size:13px!important;
  font-weight:900!important;
  padding:9px 6px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  box-shadow:0 7px 18px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.topMenuBtn::before{
  display:block!important;
  font-size:22px!important;
  line-height:1!important;
}
.topMenuBtn:nth-child(1)::before{content:'🏠';}
.topMenuBtn:nth-child(2)::before{content:'🛒';}
.topMenuBtn:nth-child(3)::before{content:'📊';}
.topMenuBtn:nth-child(4)::before{content:'🍽️';}
.topMenuBtn:nth-child(5)::before{content:'⚙️';}
.topMenuBtn.active{
  background:linear-gradient(180deg,#fbf8ff 0%,#efe7ff 100%)!important;
  color:#5b21b6!important;
  border-color:#bfaaff!important;
  box-shadow:0 9px 22px rgba(109,40,217,.12), inset 0 1px 0 rgba(255,255,255,.9)!important;
}

/* Home/menu funzioni: 3 bottoni per fila, più quadrati e compatti */
section#home .homeGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:12px!important;
  margin-bottom:14px!important;
}
section#home .homeTile{
  min-height:124px!important;
  padding:14px 12px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfbff 100%)!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 9px 24px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.9)!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
  overflow:hidden!important;
}
section#home .homeTile > div{
  display:block!important;
  width:100%!important;
}
section#home .homeTileIcon{
  font-size:28px!important;
  width:36px!important;
  height:36px!important;
  margin:0 0 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
section#home .homeTileTitle{
  font-size:18px!important;
  line-height:1.05!important;
  margin:0!important;
  color:#4c1d95!important;
  font-weight:1000!important;
}
section#home .homeTileText{
  display:block!important;
  font-size:12px!important;
  line-height:1.18!important;
  margin:6px 0 0!important;
  color:#64748b!important;
  font-weight:650!important;
}

@media(max-width:620px){
  .topMenu{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin:10px 0 14px!important;
  }
  .topMenuBtn{
    min-height:62px!important;
    border-radius:16px!important;
    font-size:11.5px!important;
    padding:7px 4px!important;
  }
  .topMenuBtn::before{font-size:20px!important;}

  section#home .homeGrid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  section#home .homeTile{
    min-height:104px!important;
    padding:10px 8px!important;
    border-radius:17px!important;
  }
  section#home .homeTileIcon{
    font-size:22px!important;
    width:28px!important;
    height:28px!important;
    margin-bottom:6px!important;
  }
  section#home .homeTileTitle{
    font-size:13.5px!important;
  }
  section#home .homeTileText{
    font-size:10.5px!important;
    line-height:1.12!important;
    margin-top:4px!important;
  }
}

@media(max-width:390px){
  section#home .homeGrid{gap:7px!important;}
  section#home .homeTile{min-height:96px!important;padding:9px 7px!important;}
  section#home .homeTileText{font-size:10px!important;}
}


/* ===== v166: elimina menu alto e usa griglia Home 2x3 ===== */
#buildBadgeV142,#buildBadgeV155,#buildBadgeV156,#buildBadgeV157,#buildBadgeV158,#buildBadgeV159,#buildBadgeV160,#buildBadgeV161,#buildBadgeV162,#buildBadgeV163,#buildBadgeV164,#buildBadgeV165,.versionBadge,#versionBadge{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
#buildBadgeV166{
  position:fixed!important;right:14px!important;bottom:14px!important;z-index:2147483647!important;
  background:#1f2937!important;color:#fff!important;border-radius:999px!important;padding:10px 16px!important;
  font-size:16px!important;font-weight:900!important;line-height:1!important;box-shadow:0 10px 25px rgba(0,0,0,.18)!important;
  animation:none!important;transform:none!important;
}

/* Il vecchio menu alto non serve più: la navigazione vive nelle 6 card Home */
.topMenu{
  display:none!important;
}

section#home .homeGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:16px!important;
  margin-bottom:18px!important;
}
section#home .homeTile{
  min-height:118px!important;
  aspect-ratio:1.35/1!important;
  padding:13px 12px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbf9ff 100%)!important;
  border:1px solid #e4e7ef!important;
  box-shadow:0 9px 22px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.95)!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
  overflow:hidden!important;
}
section#home .homeTile.homeTilePrimary{
  background:linear-gradient(180deg,#fbf8ff 0%,#efe7ff 100%)!important;
  border-color:#bfaaff!important;
  box-shadow:0 10px 24px rgba(109,40,217,.12), inset 0 1px 0 rgba(255,255,255,.95)!important;
}
section#home .homeTile > div{width:100%!important;display:block!important;}
section#home .homeTileIcon{
  font-size:26px!important;
  width:34px!important;
  height:34px!important;
  margin:0 0 7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
section#home .homeTileTitle{
  font-size:17px!important;
  line-height:1.06!important;
  margin:0!important;
  color:#4c1d95!important;
  font-weight:1000!important;
}
section#home .homeTileText{
  font-size:12.5px!important;
  line-height:1.22!important;
  margin-top:5px!important;
  color:#667085!important;
  font-weight:650!important;
  display:block!important;
  white-space:normal!important;
}
@media (max-width:720px){
  section#home .homeGrid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  section#home .homeTile{
    min-height:96px!important;
    aspect-ratio:auto!important;
    border-radius:16px!important;
    padding:9px 7px!important;
  }
  section#home .homeTileIcon{font-size:21px!important;width:26px!important;height:26px!important;margin-bottom:5px!important;}
  section#home .homeTileTitle{font-size:13px!important;line-height:1.05!important;}
  section#home .homeTileText{font-size:10px!important;line-height:1.15!important;margin-top:4px!important;}
}
@media (max-width:390px){
  section#home .homeTileText{display:none!important;}
  section#home .homeTile{min-height:78px!important;align-items:center!important;justify-content:center!important;text-align:center!important;}
  section#home .homeTileIcon{margin-left:auto!important;margin-right:auto!important;}
}

/* ===== v167: Home responsive fit-screen: tutte le card menu sempre visibili ===== */
#buildBadgeV142,#buildBadgeV155,#buildBadgeV156,#buildBadgeV157,#buildBadgeV158,#buildBadgeV159,#buildBadgeV160,#buildBadgeV161,#buildBadgeV162,#buildBadgeV163,#buildBadgeV164,#buildBadgeV165,#buildBadgeV166,.versionBadge,#versionBadge{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
#buildBadgeV167{
  position:fixed!important;
  right:14px!important;
  bottom:14px!important;
  z-index:2147483647!important;
  background:#1f2937!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 10px 25px rgba(0,0,0,.18)!important;
  animation:none!important;
  transform:none!important;
}

body{
  min-height:100vh!important;
  padding:clamp(8px,1.2vw,16px)!important;
  overflow-x:hidden!important;
}
.app{
  width:min(100%,1280px)!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding-bottom:18px!important;
}
.topMenu{display:none!important;}
body:has(section#home[style*="block"]), body:has(section#home:not([style*="display: none"])){
  background:linear-gradient(180deg,#f2ecff 0%,#f8fafc 360px)!important;
}

/* Header più compatto: lascia spazio alla griglia */
header{
  padding:clamp(12px,1.5vw,18px)!important;
  border-radius:26px!important;
  margin-bottom:clamp(10px,1.4vw,16px)!important;
}
header .top{
  display:block!important;
}
header .brand{
  display:block!important;
  width:100%!important;
}
.headerTitleRow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  margin-bottom:12px!important;
}
.headerTitleRow .logo{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  flex:0 0 58px!important;
}
.headerTitleText h1{
  font-size:clamp(26px,3vw,40px)!important;
  line-height:1.02!important;
}
.headerTitleText .sub{
  font-size:clamp(12px,1.2vw,16px)!important;
  line-height:1.18!important;
}
header .headerInfo{
  width:100%!important;
  max-width:980px!important;
  margin:10px auto 0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
header .headerLine{
  width:100%!important;
  min-height:48px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:9px 12px!important;
  border-radius:16px!important;
  font-size:clamp(13px,1.25vw,17px)!important;
}
header .headerLine span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
header .headerLine button{
  padding:6px 10px!important;
  font-size:12px!important;
  border-radius:999px!important;
}
#status.badge{
  display:none!important;
}

/* Home: griglia che si adatta e mostra sempre tutte le 6 card */
section#home{
  display:block;
}
section#home .homeGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(10px,1.4vw,16px)!important;
  margin-top:0!important;
  margin-bottom:0!important;
  min-height:0!important;
}
section#home .homeTile{
  min-height:clamp(128px,18vh,184px)!important;
  max-height:210px!important;
  aspect-ratio:auto!important;
  padding:clamp(14px,1.55vw,22px)!important;
  border-radius:clamp(20px,2vw,28px)!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbf9ff 100%)!important;
  border:1px solid #e4e7ef!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.95)!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
  overflow:hidden!important;
}
section#home .homeTile.homeTilePrimary{
  background:linear-gradient(180deg,#fbf8ff 0%,#efe7ff 100%)!important;
  border-color:#bfaaff!important;
}
section#home .homeTile > div{
  display:grid!important;
  width:100%!important;
  height:100%!important;
  grid-template-columns:58px 1fr 34px!important;
  grid-template-rows:auto 1fr auto!important;
  grid-template-areas:"icon title arrow" "icon text arrow" ". text arrow"!important;
  column-gap:16px!important;
  align-items:center!important;
}
section#home .homeTile > div::after{
  content:'›'!important;
  grid-area:arrow!important;
  width:32px!important;
  height:32px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f3eefe!important;
  color:#6d28d9!important;
  font-size:28px!important;
  font-weight:900!important;
  align-self:end!important;
  justify-self:end!important;
}
section#home .homeTileIcon{
  grid-area:icon!important;
  font-size:clamp(34px,3vw,48px)!important;
  width:58px!important;
  height:58px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
section#home .homeTileTitle{
  grid-area:title!important;
  font-size:clamp(20px,1.8vw,26px)!important;
  line-height:1.05!important;
  margin:0!important;
  color:#5b21b6!important;
  font-weight:1000!important;
}
section#home .homeTileText{
  grid-area:text!important;
  display:block!important;
  font-size:clamp(13px,1.15vw,17px)!important;
  line-height:1.28!important;
  margin:8px 0 0!important;
  color:#64748b!important;
  font-weight:650!important;
  white-space:normal!important;
}

/* Desktop basso/non altissimo: compatta tutto per non tagliare la seconda riga */
@media (min-width:900px) and (max-height:820px){
  .app{max-width:1120px!important;}
  header{padding:12px!important;margin-bottom:10px!important;}
  .headerTitleRow{margin-bottom:8px!important;}
  .headerTitleRow .logo{width:46px!important;height:46px!important;min-width:46px!important;flex-basis:46px!important;}
  .headerTitleText h1{font-size:30px!important;}
  .headerTitleText .sub{font-size:13px!important;}
  header .headerInfo{margin-top:8px!important;gap:8px!important;}
  header .headerLine{min-height:40px!important;padding:7px 10px!important;font-size:14px!important;}
  section#home .homeGrid{gap:10px!important;}
  section#home .homeTile{min-height:118px!important;padding:13px!important;border-radius:20px!important;}
  section#home .homeTile > div{grid-template-columns:46px 1fr 28px!important;column-gap:12px!important;}
  section#home .homeTileIcon{width:46px!important;height:46px!important;font-size:34px!important;}
  section#home .homeTileTitle{font-size:20px!important;}
  section#home .homeTileText{font-size:12.5px!important;line-height:1.18!important;margin-top:5px!important;}
  section#home .homeTile > div::after{width:27px!important;height:27px!important;font-size:24px!important;}
}

/* Tablet */
@media (max-width:899px){
  .app{max-width:760px!important;}
  header .headerInfo{grid-template-columns:1fr!important;}
  section#home .homeGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  section#home .homeTile{
    min-height:112px!important;
    padding:12px!important;
  }
  section#home .homeTile > div{
    display:block!important;
    text-align:center!important;
  }
  section#home .homeTile > div::after{display:none!important;}
  section#home .homeTileIcon{width:auto!important;height:auto!important;margin:0 auto 8px!important;font-size:30px!important;}
  section#home .homeTileTitle{font-size:16px!important;text-align:center!important;}
  section#home .homeTileText{font-size:11.5px!important;text-align:center!important;line-height:1.18!important;margin-top:5px!important;}
}

/* Smartphone: sempre 2 colonne x 3 righe, tutte visibili senza contenuti extra */
@media (max-width:620px){
  body{padding:10px!important;background:#f8fafc!important;}
  .app{max-width:430px!important;padding-bottom:56px!important;}
  header{border-radius:22px!important;padding:12px!important;margin-bottom:12px!important;}
  .headerTitleRow{justify-content:flex-start!important;margin-bottom:10px!important;gap:10px!important;}
  .headerTitleRow .logo{width:42px!important;height:42px!important;min-width:42px!important;flex-basis:42px!important;border-radius:14px!important;}
  .headerTitleText h1{font-size:24px!important;}
  .headerTitleText .sub{font-size:11px!important;}
  header .headerInfo{grid-template-columns:1fr!important;gap:7px!important;margin-top:8px!important;}
  header .headerLine{min-height:38px!important;padding:7px 9px!important;font-size:13px!important;border-radius:14px!important;}
  header .headerLine button{font-size:11px!important;padding:5px 8px!important;}
  section#home .homeGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  section#home .homeTile{
    min-height:118px!important;
    border-radius:20px!important;
    padding:12px 10px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  section#home .homeTileIcon{font-size:32px!important;margin-bottom:8px!important;}
  section#home .homeTileTitle{font-size:17px!important;}
  section#home .homeTileText{font-size:12px!important;line-height:1.2!important;display:block!important;}
}
@media (max-width:390px){
  section#home .homeTile{min-height:102px!important;padding:10px 8px!important;}
  section#home .homeTileIcon{font-size:28px!important;margin-bottom:6px!important;}
  section#home .homeTileTitle{font-size:15px!important;}
  section#home .homeTileText{display:none!important;}
}


/* v170 - menu prodotti una riga */
.productChoiceGrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}

.productChoice{
  min-height:160px;
}

@media(max-width:700px){
  .productChoiceGrid{
    grid-template-columns:1fr 1fr !important;
  }

  .productChoice{
    min-height:140px;
  }

  .productChoice strong{
    font-size:16px;
  }

  .productChoice span{
    font-size:12px;
  }
}


/* v171 - azioni carrello stesso stile menu prodotti */
.cartActionGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}

.cartChoice{
  width:100%;
  min-height:145px;
  border:0;
  border-radius:26px;
  padding:18px;
  background:linear-gradient(135deg,#ffffff,#f4f1ff);
  box-shadow:0 10px 26px rgba(37,20,80,.08);
  text-align:left;
  cursor:pointer;
  color:#27233a;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
  transition:transform .18s ease, box-shadow .18s ease;
}

.cartChoice:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(37,20,80,.12);
}

.cartChoice strong{
  font-size:18px;
  line-height:1.12;
  color:#3b2378;
}

.cartChoice span{
  font-size:13px;
  line-height:1.25;
  color:#6b647d;
}

.cartChoicePrimary{
  background:linear-gradient(135deg,#ecfdf3,#ffffff);
}

.cartChoicePrimary strong{
  color:#166534;
}

.cartChoiceDanger{
  background:linear-gradient(135deg,#fff1f2,#ffffff);
}

.cartChoiceDanger strong{
  color:#b42318;
}

@media(max-width:900px){
  .cartActionGrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }

  .cartChoice{
    min-height:128px;
    padding:12px;
    border-radius:20px;
  }

  .cartChoice .homeTileIcon{
    font-size:24px;
  }

  .cartChoice strong{
    font-size:14px;
  }

  .cartChoice span{
    font-size:11px;
  }
}

@media(max-width:430px){
  .cartActionGrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .cartChoice{
    min-height:120px;
    padding:10px;
  }
}


/* v172 - grafica differenziata desktop/mobile */

/* Sidebar desktop: invisibile su smartphone */
.desktopSidebar{
  display:none;
}

@media (min-width: 1100px){

  body{
    background:
      radial-gradient(circle at top left, rgba(124,58,237,.10), transparent 35%),
      linear-gradient(135deg,#f7f8ff,#ffffff 55%,#f4f7ff);
  }

  .desktopSidebar{
    display:flex;
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:270px;
    padding:26px 20px;
    background:rgba(255,255,255,.84);
    backdrop-filter:blur(20px);
    border-right:1px solid rgba(108,77,246,.12);
    box-shadow:18px 0 45px rgba(35,22,75,.06);
    z-index:20;
    flex-direction:column;
  }

  .desktopSidebarBrand{
    display:flex;
    align-items:center;
    gap:14px;
    padding:10px 6px 26px;
    border-bottom:1px solid rgba(100,116,139,.14);
  }

  .desktopSidebarBrand img{
    width:62px;
    height:62px;
    border-radius:22px;
    box-shadow:0 8px 20px rgba(108,77,246,.16);
  }

  .desktopSidebarBrand h2{
    margin:0;
    color:#4c1d95;
    font-size:22px;
    line-height:1.05;
  }

  .desktopSidebarBrand span{
    display:block;
    margin-top:5px;
    color:#64748b;
    font-size:13px;
    line-height:1.25;
  }

  .desktopSidebarUser{
    margin:24px 0;
    padding:18px;
    border-radius:26px;
    background:linear-gradient(135deg,#f4f0ff,#ffffff);
    border:1px solid rgba(108,77,246,.12);
  }

  .desktopSidebarUser strong{
    display:block;
    color:#111827;
    font-size:17px;
  }

  .desktopSidebarUser span{
    display:block;
    margin-top:6px;
    color:#16a34a;
    font-weight:800;
    font-size:13px;
  }

  .desktopSidebarNav{
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  .desktopSidebarNav button{
    border:0;
    background:transparent;
    padding:14px 16px;
    border-radius:18px;
    display:flex;
    align-items:center;
    gap:14px;
    font-weight:800;
    font-size:15px;
    color:#334155;
    text-align:left;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, transform .18s ease;
  }

  .desktopSidebarNav button:hover{
    background:#f3f0ff;
    color:#5b21b6;
    transform:translateX(2px);
  }

  .desktopSidebarFooter{
    margin-top:auto;
    color:#94a3b8;
    font-size:12px;
    padding:16px 8px 0;
    border-top:1px solid rgba(100,116,139,.14);
  }

  .app{
    width:calc(100% - 310px) !important;
    max-width:none !important;
    margin:0 24px 0 294px !important;
    padding:28px 0 54px !important;
  }

  header{
    max-width:none !important;
  }

  .top{
    border-radius:30px !important;
    padding:24px 28px !important;
  }

  .headerTitleRow{
    justify-content:flex-start !important;
  }

  .headerInfo{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:16px !important;
    margin-top:20px !important;
  }

  .headerLine{
    min-height:70px !important;
    border-radius:24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }

  .topMenu{
    display:none !important;
  }

  .homeGrid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    margin-top:22px !important;
  }

  .homeTile{
    min-height:178px !important;
    border-radius:28px !important;
    padding:22px !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
    background:linear-gradient(135deg,#ffffff,#f8f7ff) !important;
  }

  .homeTileIcon{
    font-size:38px !important;
    margin-bottom:16px !important;
  }

  .homeTileTitle{
    font-size:24px !important;
  }

  .homeTileText{
    font-size:15px !important;
    line-height:1.35 !important;
    max-width:260px !important;
  }

  /* Desktop: pagine operative più software-like */
  .sectionTop{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    margin:18px 0 !important;
  }

  .sectionTop h2{
    font-size:42px !important;
    margin:0 !important;
  }

  .card{
    border-radius:30px !important;
    padding:26px !important;
    box-shadow:0 12px 34px rgba(22,30,70,.06) !important;
  }

  /* Menu prodotti desktop */
  .productChoiceGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px !important;
  }

  .productChoice{
    min-height:150px !important;
    border-radius:28px !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  /* Carrello desktop: blocchi più ordinati e compatti */
  #shop .card > label,
  #shop .card > select,
  #shop .card > .marketHint,
  #shop .card > input.search{
    max-width:none !important;
  }

  #shop .totalBox{
    border-radius:24px !important;
    min-height:84px !important;
  }

  .cartActionGrid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    margin-top:24px !important;
  }

  .cartChoice{
    min-height:132px !important;
    border-radius:24px !important;
  }

  /* Ricette desktop: categorie compatte */
  .recipeCategoryGrid,
  .recipeCategoriesGrid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  #buildBadgeV172{
    left:125px !important;
    right:auto !important;
    bottom:70px !important;
  }
}

/* Mobile resta pulito e touch-friendly */
@media (max-width: 1099px){
  .desktopSidebar{
    display:none !important;
  }

  .app{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* v173 - Carrello desktop come mockup: sidebar sinistra + card centrali compatte */
@media (min-width:1100px){

  /* l'app desktop diventa una vera area lavoro */
  .app{
    width:calc(100% - 320px) !important;
    max-width:1320px !important;
    margin:0 auto 0 310px !important;
    padding:34px 34px 70px !important;
  }

  /* header viola meno invadente su desktop operativo */
  header{
    display:none !important;
  }

  /* sezione carrello centrata e ampia */
  #shop{
    max-width:1240px;
    margin:0 auto;
  }

  #shop .sectionTop{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:18px !important;
    margin:8px 0 28px !important;
  }

  #shop .sectionTop h2{
    position:relative;
    font-size:42px !important;
    font-weight:900 !important;
    color:#101828 !important;
    padding-left:48px;
    line-height:1.05;
  }

  #shop .sectionTop h2:before{
    content:"←";
    position:absolute;
    left:0;
    top:0;
    color:#5b21b6;
    font-size:42px;
    line-height:1;
    cursor:pointer;
  }

  #shop .sectionTop h2:after{
    content:"Gestisci gli acquisti e i prodotti nel carrello corrente.";
    display:block;
    font-size:18px;
    font-weight:500;
    color:#667085;
    margin-top:10px;
    line-height:1.25;
  }

  #shop .sectionTop .backHome{
    display:none !important;
  }

  /* card principale del carrello diventa contenitore pulito */
  #shop > .card{
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
    padding:0 !important;
  }

  #shop > .card > h2,
  #shop > .card > p{
    display:none !important;
  }

  /* griglia superiore filtro / ricerca / totale */
  #shop .cartDesktopTopGrid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:22px;
    margin-bottom:24px;
  }

  #shop .cartDesktopBox{
    background:rgba(255,255,255,.88);
    border:1px solid rgba(101,84,192,.14);
    box-shadow:0 16px 38px rgba(31,41,55,.06);
    border-radius:28px;
    padding:22px;
    min-height:136px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  #shop .cartDesktopBox label,
  #shop .cartDesktopBox .label{
    text-transform:none !important;
    letter-spacing:0 !important;
    color:#344054 !important;
    font-size:17px !important;
    font-weight:900 !important;
    margin:0 0 12px !important;
  }

  #shop .cartDesktopBox select,
  #shop .cartDesktopBox input.search{
    height:54px !important;
    border-radius:18px !important;
    font-size:17px !important;
    padding:0 18px !important;
    background:white !important;
    border:1px solid rgba(100,116,139,.22) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.5) !important;
  }

  #shop .cartDesktopBox .marketHelp{
    margin-top:10px;
    font-size:13px;
    color:#64748b;
    line-height:1.25;
  }

  #shop .cartDesktopTotal{
    background:linear-gradient(135deg,#ffffff,#f8fff9) !important;
  }

  #shop .cartDesktopTotal .amount{
    margin-top:18px;
    text-align:right;
    color:#16a34a !important;
    font-size:34px !important;
    font-weight:1000 !important;
  }

  /* nascondo i vecchi elementi lineari, perché vengono ricreati in griglia via JS */
  #shop > .card > label[for],
  #shop > .card > label:not(.keepLabel),
  #shop > .card > select#marketFilterShop,
  #shop > .card > input#searchShop,
  #shop > .card > .totalBox{
    display:none !important;
  }

  /* lista prodotti carrello come card centrale ampia */
  #shopList{
    min-height:230px;
    border-radius:30px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(101,84,192,.12);
    box-shadow:0 16px 40px rgba(31,41,55,.05);
    padding:28px;
    margin:0 0 24px !important;
  }

  #shopList:empty:before{
    content:"🛒";
    display:block;
    width:92px;
    height:92px;
    margin:6px auto 20px;
    border-radius:50%;
    background:#f3f0ff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:42px;
    opacity:.65;
  }

  /* messaggio vuoto più elegante */
  #shop .empty,
  #shop .muted{
    color:#667085 !important;
    font-size:18px !important;
    text-align:center !important;
  }

  /* azioni carrello raggruppate in card unica */
  .cartActionGrid{
    background:rgba(255,255,255,.88);
    border:1px solid rgba(101,84,192,.12);
    box-shadow:0 16px 40px rgba(31,41,55,.06);
    border-radius:30px;
    padding:22px !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    margin-top:0 !important;
  }

  .cartActionGrid:before{
    content:"Azioni carrello";
    grid-column:1/-1;
    color:#344054;
    font-size:20px;
    font-weight:900;
    margin-bottom:2px;
  }

  .cartChoice{
    min-height:118px !important;
    border-radius:24px !important;
    padding:20px !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:18px !important;
    text-align:left !important;
    box-shadow:none !important;
    border:1px solid rgba(100,116,139,.12) !important;
  }

  .cartChoice .homeTileIcon{
    width:54px;
    height:54px;
    min-width:54px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(108,77,246,.10);
    font-size:28px !important;
    margin:0 !important;
  }

  .cartChoice strong{
    display:block;
    font-size:19px !important;
    margin-bottom:8px;
  }

  .cartChoice span{
    display:block;
    font-size:14px !important;
    max-width:210px;
  }

  .cartChoice:after{
    content:"›";
    margin-left:auto;
    width:42px;
    height:42px;
    min-width:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(108,77,246,.10);
    color:#5b21b6;
    font-size:34px;
    font-weight:400;
  }

  .cartChoicePrimary .homeTileIcon{
    background:#dcfce7;
  }

  .cartChoicePrimary:after{
    background:#dcfce7;
    color:#15803d;
  }

  .cartChoiceDanger .homeTileIcon{
    background:#fee2e2;
  }

  .cartChoiceDanger:after{
    background:#fee2e2;
    color:#dc2626;
  }
}

/* mobile: non usa la griglia desktop ricreata */
@media (max-width:1099px){
  #shop .cartDesktopTopGrid{
    display:none !important;
  }
}


/* v176 - desktop corretto: sidebar compatta + contenuto fluido */
@media (min-width:1100px){

  body{
    background:linear-gradient(135deg,#ffffff,#fbfaff 60%,#f6f4ff) !important;
  }

  header,
  .topMenu{
    display:none !important;
  }

  .desktopSidebar{
    display:flex !important;
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:250px !important;
    padding:24px 18px !important;
    background:linear-gradient(180deg,#ffffff,#fbfaff) !important;
    border-right:1px solid rgba(100,116,139,.16) !important;
    box-shadow:12px 0 34px rgba(15,23,42,.045) !important;
    z-index:50 !important;
    flex-direction:column !important;
  }

  .desktopSidebarBrand{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    padding-bottom:22px !important;
    border-bottom:1px solid rgba(100,116,139,.14) !important;
  }

  .desktopSidebarBrand img{
    width:58px !important;
    height:58px !important;
    border-radius:18px !important;
    object-fit:cover !important;
  }

  .desktopSidebarBrand h2{
    margin:0 !important;
    color:#4c1d95 !important;
    font-size:22px !important;
    line-height:1.03 !important;
    font-weight:1000 !important;
  }

  .desktopSidebarBrand span{
    display:block !important;
    margin-top:6px !important;
    color:#64748b !important;
    font-size:12px !important;
    line-height:1.25 !important;
  }

  .desktopSidebarUser{
    margin:22px 0 !important;
    padding:15px !important;
    border-radius:22px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    background:linear-gradient(135deg,#f7f3ff,#ffffff) !important;
    border:1px solid rgba(108,77,246,.10) !important;
  }

  .desktopSidebarUser:before{
    content:"👤";
    width:44px;
    height:44px;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ede9fe;
    font-size:24px;
  }

  .desktopSidebarUser strong{
    color:#111827 !important;
    font-size:16px !important;
    font-weight:900 !important;
  }

  .desktopSidebarUser span{
    color:#16a34a !important;
    font-size:13px !important;
    font-weight:900 !important;
    margin-top:4px !important;
  }

  .desktopSidebarNav{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
  }

  .desktopSidebarNav button{
    min-height:46px !important;
    border:0 !important;
    border-radius:15px !important;
    padding:0 14px !important;
    background:transparent !important;
    color:#475569 !important;
    font-size:15px !important;
    font-weight:850 !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    cursor:pointer !important;
    text-align:left !important;
  }

  .desktopSidebarNav button:hover{
    background:#f1ecff !important;
    color:#4c1d95 !important;
  }

  .desktopSidebarFooter{
    margin-top:auto !important;
    color:#64748b !important;
    font-size:12px !important;
    padding-top:16px !important;
  }

  .app{
    width:auto !important;
    max-width:none !important;
    margin-left:250px !important;
    margin-right:0 !important;
    padding:28px 32px 64px !important;
    min-height:100vh !important;
    box-sizing:border-box !important;
  }

  section{
    max-width:none !important;
  }

  #home{
    max-width:none !important;
  }

  .homeGrid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
    gap:18px !important;
    width:100% !important;
  }

  .homeTile{
    min-height:150px !important;
    border-radius:24px !important;
    padding:20px !important;
    display:flex !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  .homeTileIcon{
    font-size:32px !important;
    margin-bottom:12px !important;
  }

  .homeTileTitle{
    font-size:22px !important;
  }

  .homeTileText{
    font-size:14px !important;
    line-height:1.28 !important;
  }

  /* Carrello desktop corretto */
  #shop{
    max-width:none !important;
    width:100% !important;
  }

  #shop .sectionTop{
    margin:0 0 28px !important;
  }

  #shop .sectionTop .backHome{
    display:none !important;
  }

  #shop .sectionTop h2{
    position:relative !important;
    margin:0 !important;
    padding-left:54px !important;
    color:#0f172a !important;
    font-size:44px !important;
    line-height:1 !important;
    font-weight:1000 !important;
  }

  #shop .sectionTop h2:before{
    content:"←";
    position:absolute;
    left:0;
    top:-2px;
    color:#5b21b6;
    font-size:42px;
    font-weight:700;
  }

  #shop .sectionTop h2:after{
    content:"Gestisci gli acquisti e i prodotti nel carrello corrente.";
    display:block;
    margin-top:14px;
    color:#475569;
    font-size:18px;
    line-height:1.25;
    font-weight:500;
  }

  #shop > .card{
    padding:0 !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }

  #shop > .card > h2,
  #shop > .card > p,
  #shop > .card > label,
  #shop > .card > select#marketFilterShop,
  #shop > .card > input#searchShop,
  #shop > .card > .totalBox{
    display:none !important;
  }

  .cartDesktopTopGrid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    margin:0 0 20px !important;
  }

  .cartDesktopBox{
    min-height:132px !important;
    padding:22px !important;
    background:#ffffff !important;
    border:1px solid rgba(100,116,139,.16) !important;
    border-radius:22px !important;
    box-shadow:0 10px 24px rgba(15,23,42,.035) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }

  .cartDesktopBox label,
  .cartDesktopBox .label{
    margin:0 0 12px !important;
    font-size:17px !important;
    color:#0f172a !important;
    font-weight:1000 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }

  .cartDesktopBox select,
  .cartDesktopBox input.search{
    height:54px !important;
    border-radius:16px !important;
    border:1px solid rgba(100,116,139,.28) !important;
    background:#ffffff !important;
    padding:0 18px !important;
    font-size:16px !important;
    font-weight:700 !important;
    color:#111827 !important;
    box-shadow:none !important;
  }

  .marketHelp{
    margin-top:10px !important;
    font-size:13px !important;
    color:#475569 !important;
    line-height:1.25 !important;
  }

  .cartDesktopTotal{
    background:linear-gradient(135deg,#ffffff,#f0fff6) !important;
  }

  .cartDesktopTotal .totalBox{
    display:flex !important;
    background:transparent !important;
    padding:0 !important;
    box-shadow:none !important;
    min-height:0 !important;
    border-radius:0 !important;
    align-items:flex-start !important;
  }

  .cartDesktopTotal .amount{
    margin-top:18px !important;
    color:#16a34a !important;
    font-size:34px !important;
    font-weight:1000 !important;
    text-align:right !important;
  }

  .cartActionGrid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    padding:0 !important;
    margin:0 0 20px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .cartActionGrid:before{
    display:none !important;
  }

  .cartChoice{
    min-height:130px !important;
    padding:20px !important;
    border-radius:22px !important;
    border:1px solid rgba(100,116,139,.16) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.035) !important;
    display:grid !important;
    grid-template-columns:58px 1fr 40px !important;
    align-items:center !important;
    gap:16px !important;
    text-align:left !important;
  }

  .cartChoicePrimary{
    background:linear-gradient(135deg,#f0fff6,#ffffff) !important;
  }

  .cartChoice:not(.cartChoicePrimary):not(.cartChoiceDanger){
    background:linear-gradient(135deg,#fbf9ff,#ffffff) !important;
  }

  .cartChoiceDanger{
    background:linear-gradient(135deg,#fff3f3,#ffffff) !important;
  }

  .cartChoice .homeTileIcon{
    width:50px !important;
    height:50px !important;
    border-radius:16px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:24px !important;
    background:rgba(108,77,246,.10) !important;
  }

  .cartChoice strong{
    font-size:18px !important;
    line-height:1.1 !important;
    margin:0 0 8px !important;
    font-weight:1000 !important;
  }

  .cartChoice span{
    font-size:14px !important;
    line-height:1.28 !important;
    color:#475569 !important;
  }

  .cartChoice:after{
    content:"›" !important;
    width:36px !important;
    height:36px !important;
    border-radius:999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:30px !important;
    color:#5b21b6 !important;
    background:#ede9fe !important;
  }

  #shopList{
    min-height:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  #shopList .empty,
  .cartEmptySlim{
    min-height:74px !important;
    padding:20px 26px 20px 78px !important;
    border-radius:18px !important;
    background:#ffffff !important;
    border:1px solid rgba(100,116,139,.16) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.035) !important;
    color:#475569 !important;
    font-size:17px !important;
    font-weight:800 !important;
    line-height:1.35 !important;
    text-align:left !important;
    position:relative !important;
    display:flex !important;
    align-items:center !important;
  }

  #shopList .empty:before,
  .cartEmptySlim:before{
    content:"ⓘ";
    position:absolute;
    left:28px;
    top:50%;
    transform:translateY(-50%);
    color:#2563eb;
    font-size:30px;
    font-weight:700;
  }
}

@media (max-width:1099px){
  .desktopSidebar{
    display:none !important;
  }
}


/* v177 - sidebar compatta + card centrali realmente fluide */
@media (min-width:1100px){

  .desktopSidebar{
    width:220px !important;
    padding:20px 14px !important;
  }

  .desktopSidebarBrand{
    gap:10px !important;
    padding-bottom:16px !important;
  }

  .desktopSidebarBrand img{
    width:48px !important;
    height:48px !important;
    border-radius:16px !important;
  }

  .desktopSidebarBrand h2{
    font-size:19px !important;
    line-height:1.02 !important;
  }

  .desktopSidebarBrand span{
    font-size:11px !important;
    line-height:1.2 !important;
    margin-top:4px !important;
  }

  .desktopSidebarUser{
    margin:16px 0 !important;
    padding:12px !important;
    min-height:66px !important;
    border-radius:18px !important;
    gap:10px !important;
  }

  .desktopSidebarUser:before{
    width:38px !important;
    height:38px !important;
    border-radius:13px !important;
    font-size:20px !important;
  }

  .desktopSidebarUser strong{
    font-size:15px !important;
  }

  .desktopSidebarUser span{
    font-size:12px !important;
    margin-top:2px !important;
  }

  .desktopSidebarNav{
    gap:3px !important;
    margin-top:4px !important;
  }

  .desktopSidebarNav button{
    min-height:38px !important;
    height:38px !important;
    padding:0 10px !important;
    border-radius:12px !important;
    gap:9px !important;
    font-size:14px !important;
    line-height:1 !important;
  }

  .desktopSidebarFooter{
    font-size:11px !important;
    padding-top:10px !important;
  }

  .app{
    margin-left:220px !important;
    width:calc(100vw - 220px) !important;
    max-width:none !important;
    padding:24px clamp(18px, 2.4vw, 42px) 54px !important;
    box-sizing:border-box !important;
  }

  /* Home: le 6 card occupano sempre bene lo spazio */
  .homeGrid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:clamp(14px, 1.5vw, 24px) !important;
    width:100% !important;
    max-width:none !important;
  }

  .homeTile{
    width:100% !important;
    min-height:clamp(128px, 15vh, 170px) !important;
    padding:clamp(16px, 1.6vw, 24px) !important;
    box-sizing:border-box !important;
  }

  /* Carrello: 3+3 card sempre allineate e fluide */
  #shop{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  #shop .sectionTop{
    margin-bottom:clamp(20px, 2.4vw, 34px) !important;
  }

  .cartDesktopTopGrid,
  .cartActionGrid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:clamp(14px, 1.6vw, 26px) !important;
    width:100% !important;
  }

  .cartDesktopBox{
    min-height:clamp(118px, 15vh, 152px) !important;
    padding:clamp(18px, 1.7vw, 26px) !important;
  }

  .cartChoice{
    min-height:clamp(112px, 14vh, 145px) !important;
    padding:clamp(16px, 1.5vw, 24px) !important;
    grid-template-columns:clamp(48px, 4.5vw, 62px) 1fr 38px !important;
  }

  #shopList .empty,
  .cartEmptySlim{
    width:100% !important;
    box-sizing:border-box !important;
  }

  #buildBadgeV177{
    position:fixed !important;
    left:54px !important;
    bottom:58px !important;
    right:auto !important;
    background:#ede9fe !important;
    color:#4c1d95 !important;
    box-shadow:none !important;
    padding:10px 22px !important;
    border-radius:14px !important;
    font-weight:1000 !important;
  }
}

/* desktop medio: se la finestra è stretta, le card restano visibili senza rompersi */
@media (min-width:1100px) and (max-width:1250px){
  .homeGrid,
  .cartDesktopTopGrid,
  .cartActionGrid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }

  .cartChoice span{
    font-size:12px !important;
  }

  .cartChoice strong{
    font-size:16px !important;
  }
}


/* v178 - card Carrello desktop più piccole e pulite */
@media (min-width:1100px){

  #shop{
    padding-top:18px !important;
  }

  #shop .sectionTop{
    margin-bottom:24px !important;
  }

  #shop .sectionTop h2{
    font-size:38px !important;
  }

  #shop .sectionTop h2:before{
    font-size:38px !important;
  }

  #shop .sectionTop h2:after{
    font-size:16px !important;
    margin-top:10px !important;
  }

  .cartDesktopTopGrid,
  .cartActionGrid{
    gap:18px !important;
  }

  .cartDesktopBox{
    min-height:112px !important;
    padding:18px 20px !important;
    border-radius:18px !important;
  }

  .cartDesktopBox label,
  .cartDesktopBox .label{
    font-size:15px !important;
    margin-bottom:10px !important;
  }

  .cartDesktopBox select,
  .cartDesktopBox input.search{
    height:48px !important;
    border-radius:14px !important;
    font-size:15px !important;
    padding:0 16px !important;
  }

  .marketHelp{
    font-size:12px !important;
    margin-top:8px !important;
  }

  .cartDesktopTotal .amount{
    font-size:30px !important;
    margin-top:12px !important;
  }

  .cartChoice{
    min-height:108px !important;
    padding:16px 18px !important;
    border-radius:18px !important;
    grid-template-columns:46px 1fr 34px !important;
    gap:14px !important;
  }

  .cartChoice .homeTileIcon{
    width:42px !important;
    height:42px !important;
    border-radius:14px !important;
    font-size:22px !important;
  }

  .cartChoice strong{
    font-size:16px !important;
    margin-bottom:6px !important;
  }

  .cartChoice span{
    font-size:13px !important;
    line-height:1.22 !important;
  }

  .cartChoice:after{
    width:32px !important;
    height:32px !important;
    font-size:26px !important;
  }

  #shopList .empty,
  .cartEmptySlim{
    min-height:62px !important;
    padding:16px 24px 16px 68px !important;
    border-radius:16px !important;
    font-size:15px !important;
  }

  #shopList .empty:before,
  .cartEmptySlim:before{
    left:24px !important;
    font-size:26px !important;
  }

  #buildBadgeV178{
    position:fixed !important;
    left:54px !important;
    bottom:58px !important;
    right:auto !important;
    background:#ede9fe !important;
    color:#4c1d95 !important;
    box-shadow:none !important;
    padding:10px 22px !important;
    border-radius:14px !important;
    font-weight:1000 !important;
  }
}


/* v179 FIX */
@media (min-width:1100px){

  .marketHelp{
    display:none !important;
  }

  .desktopSidebar{
    width:240px !important;
    padding:18px 16px !important;
  }

  .app{
    margin-left:240px !important;
    width:calc(100vw - 240px) !important;
    padding:24px 28px 40px !important;
    box-sizing:border-box !important;
  }

  .desktopSidebarNav{
    gap:2px !important;
  }

  .desktopSidebarNav button{
    height:40px !important;
    min-height:40px !important;
    border-radius:12px !important;
    font-size:14px !important;
  }

  .sidebarQuickActions{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:10px 0 14px 0;
  }

  .sidebarQuickBtn{
    height:40px;
    border-radius:12px;
    border:1px solid #e9e5ff;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 12px;
    font-size:13px;
    font-weight:700;
    color:#475569;
  }

  .cartDesktopTopGrid,
  .cartActionGrid{
    gap:18px !important;
  }

  .cartDesktopBox{
    min-height:100px !important;
    padding:16px 18px !important;
  }

  .cartChoice{
    min-height:92px !important;
    padding:16px 18px !important;
  }

  .cartChoice strong{
    font-size:15px !important;
  }

  .cartChoice span{
    font-size:13px !important;
    line-height:1.2 !important;
  }

  #shopList .empty,
  .cartEmptySlim{
    min-height:58px !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
}

/* v186 - sidebar dropdown senza popup legacy */
@media (min-width:1100px){
  .sidebarQuickActions{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    margin:10px 0 14px 0 !important;
    position:relative !important;
  }
  .sidebarQuickBtn{
    height:40px !important;
    border-radius:12px !important;
    border:1px solid #e9e5ff !important;
    background:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 12px !important;
    font-size:13px !important;
    font-weight:700 !important;
    color:#475569 !important;
    cursor:pointer !important;
  }
  .sidebarDropPanel{
    display:none;
    border:1px solid #e9e5ff;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 12px 24px rgba(20,20,40,.08);
    z-index:99999;
  }
  .sidebarDropPanel.open{display:block !important;}
  .sidebarDropItem{
    width:100%;
    border:0;
    background:#fff;
    min-height:36px;
    padding:9px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:13px;
    font-weight:700;
    color:#475569;
    cursor:pointer;
  }
  .sidebarDropItem:hover{background:#f4f0ff;color:#4c1d95;}
  .sidebarDropItem.active{background:#ede9fe;color:#4c1d95;}
  .sidebarDropEmpty{padding:10px 12px;font-size:12px;color:#64748b;}
  #buildBadgeV186{
    position:fixed !important;left:54px !important;bottom:58px !important;right:auto !important;
    background:#ede9fe !important;color:#4c1d95 !important;box-shadow:none !important;
    padding:10px 22px !important;border-radius:14px !important;font-weight:1000 !important;z-index:9999 !important;
  }
}


/* v190 - FIX SICURO responsive desktop carrello, senza toccare JS */
@media (min-width:1100px){

  /* elimina la riga informativa inutile sopra le card azione */
  #shop .card > p,
  #shop .cartHint,
  #shop .cartInfo,
  #shop .cartNotice,
  #shop .marketHint,
  #shop .marketHelp{
    display:none !important;
  }

  /* contenitore fluido */
  .app,
  #shop,
  #shop > .card{
    max-width:none !important;
    width:auto !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  /* griglia sopra e sotto: sempre 3 colonne proporzionate */
  .cartDesktopTopGrid,
  .cartActionGrid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  /* card superiori più proporzionate */
  .cartDesktopBox{
    min-width:0 !important;
    width:100% !important;
    min-height:120px !important;
    padding:18px 20px !important;
    box-sizing:border-box !important;
  }

  .cartDesktopBox label,
  .cartDesktopBox .label{
    font-size:16px !important;
    line-height:1.2 !important;
    margin-bottom:10px !important;
  }

  .cartDesktopBox select,
  .cartDesktopBox input.search{
    width:100% !important;
    height:48px !important;
    font-size:15px !important;
    box-sizing:border-box !important;
  }

  .cartDesktopTotal .amount{
    font-size:32px !important;
    white-space:nowrap !important;
  }

  /* card azione corrette: niente testo in colonna stretta */
  .cartChoice{
    min-width:0 !important;
    width:100% !important;
    min-height:118px !important;
    padding:18px 18px !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 34px !important;
    align-items:center !important;
    column-gap:14px !important;
    overflow:hidden !important;
  }

  .cartChoice .homeTileIcon{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    font-size:22px !important;
    margin:0 !important;
  }

  .cartChoice strong{
    display:block !important;
    font-size:17px !important;
    line-height:1.15 !important;
    margin:0 0 6px 0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .cartChoice span{
    display:block !important;
    font-size:13px !important;
    line-height:1.28 !important;
    color:#475569 !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  .cartChoice:after{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    font-size:26px !important;
    margin-left:0 !important;
    align-self:center !important;
    justify-self:end !important;
  }

  /* box vuoto basso e pulito */
  #shopList .empty,
  .cartEmptySlim{
    min-height:64px !important;
    padding:16px 24px 16px 68px !important;
    font-size:15px !important;
    line-height:1.3 !important;
    box-sizing:border-box !important;
  }

  #buildBadgeV190{
    position:fixed !important;
    left:54px !important;
    bottom:58px !important;
    right:auto !important;
    background:#ede9fe !important;
    color:#4c1d95 !important;
    box-shadow:none !important;
    padding:10px 22px !important;
    border-radius:14px !important;
    font-weight:1000 !important;
    z-index:9999 !important;
  }
}


/* v191 - fix reale card carrello desktop */
@media (min-width:1100px){

  /* elimina definitivamente la riga inutile sopra le 3 card */
  #shop .card > p,
  #shop .cartDesktopMarket .marketHelp,
  #shop .marketHelp,
  #shop .cartHint,
  #shop .cartInfo,
  #shop .cartNotice,
  #shop .cartInfoBar,
  #shop .cartFilterInfo,
  #shop .cartNoticeBar{
    display:none !important;
  }

  /* forza shopList sopra e azioni sotto senza banner testuale */
  #shopList{
    margin-bottom:18px !important;
  }

  /* griglia fluida */
  #shop .cartActionGrid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    width:100% !important;
    min-width:0 !important;
    align-items:stretch !important;
  }

  /* reset completo della vecchia impostazione grid che mandava il testo in colonna */
  #shop .cartChoice{
    width:100% !important;
    min-width:0 !important;
    min-height:118px !important;
    max-height:118px !important;
    padding:18px 58px 18px 18px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:16px !important;
    overflow:hidden !important;
    text-align:left !important;
    position:relative !important;
  }

  #shop .cartChoice .homeTileIcon{
    flex:0 0 46px !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    margin:0 !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:22px !important;
  }

  #shop .cartChoice strong,
  #shop .cartChoice span{
    min-width:0 !important;
    max-width:none !important;
  }

  #shop .cartChoice strong{
    display:block !important;
    flex:0 0 auto !important;
    font-size:17px !important;
    line-height:1.15 !important;
    margin:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #shop .cartChoice span{
    display:block !important;
    flex:1 1 auto !important;
    font-size:13px !important;
    line-height:1.25 !important;
    color:#475569 !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
    max-width:260px !important;
  }

  #shop .cartChoice:after{
    content:"›" !important;
    position:absolute !important;
    right:16px !important;
    bottom:16px !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    border-radius:999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:28px !important;
    line-height:1 !important;
    margin:0 !important;
  }

  /* su finestre più strette mantiene tutto leggibile senza colonna strettissima */
  @media (min-width:1100px) and (max-width:1350px){
    #shop .cartChoice{
      padding-right:50px !important;
      gap:12px !important;
    }

    #shop .cartChoice strong{
      font-size:15px !important;
      max-width:130px !important;
    }

    #shop .cartChoice span{
      font-size:12px !important;
      max-width:170px !important;
    }
  }
}

/* v191 badge */
#buildBadgeV191{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  right:auto !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  box-shadow:none !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v192 - descrizione sotto titolo nelle card carrello */
@media (min-width:1100px){

  #shop .cartChoice{
    display:grid !important;
    grid-template-columns:58px 1fr auto !important;
    align-items:center !important;
    column-gap:18px !important;
  }

  #shop .cartChoice strong{
    display:block !important;
    width:100% !important;
    margin:0 0 8px 0 !important;
    white-space:nowrap !important;
  }

  #shop .cartChoice span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:0 !important;
    line-height:1.3 !important;
  }

  /* colonna testo verticale */
  #shop .cartChoiceText,
  #shop .cartChoiceContent,
  #shop .cartChoiceCenter{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
  }

  /* fallback se non esiste wrapper */
  #shop .cartChoice strong + span{
    position:relative !important;
    left:0 !important;
  }

  #shop .cartChoice:after{
    align-self:center !important;
  }
}


/* v196 - card carrello compatte, fluide e senza totalone fuori misura */
@media (min-width:1100px){

  /* elimina riga inutile */
  #shop .card > p,
  #shop .marketHelp,
  #shop .cartHint,
  #shop .cartInfo,
  #shop .cartNotice,
  #shop .cartInfoBar,
  #shop .cartFilterInfo,
  #shop .cartNoticeBar{
    display:none !important;
  }

  /* griglia superiore sempre a card compatte */
  #shop .cartDesktopTopGrid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(180px, 1fr)) !important;
    gap:14px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  #shop .cartDesktopTopGrid > *,
  #shop .cartDesktopTopGrid > *:nth-child(3),
  #shop .cartDesktopTopGrid > .cartDesktopTotal{
    grid-column:auto !important;
  }

  #shop .cartDesktopBox{
    min-height:104px !important;
    max-height:118px !important;
    padding:16px 18px !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  #shop .cartDesktopBox label,
  #shop .cartDesktopBox .label{
    font-size:15px !important;
    line-height:1.15 !important;
    margin:0 0 10px 0 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }

  #shop .cartDesktopBox select,
  #shop .cartDesktopBox input.search{
    width:100% !important;
    height:44px !important;
    border-radius:14px !important;
    font-size:15px !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
  }

  #shop .cartDesktopTotal{
    background:linear-gradient(135deg,#f7fff9,#ffffff) !important;
  }

  #shop .cartDesktopTotal .totalBox{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
  }

  #shop .cartDesktopTotal .amount{
    font-size:30px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    margin:0 !important;
    color:#16a34a !important;
  }

  #shop .cartDesktopTotal .totalBox div[style]{
    display:none !important;
  }

  /* griglia azioni: bottoni compatti */
  #shop .cartActionGrid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(180px, 1fr)) !important;
    gap:14px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  #shop .cartChoice{
    min-width:0 !important;
    width:100% !important;
    min-height:92px !important;
    max-height:105px !important;
    padding:14px 48px 14px 14px !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    display:grid !important;
    grid-template-columns:42px minmax(0, 1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:12px !important;
    row-gap:4px !important;
    align-items:center !important;
    text-align:left !important;
    position:relative !important;
  }

  #shop .cartChoice .homeTileIcon{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    border-radius:13px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:20px !important;
  }

  #shop .cartChoice strong{
    grid-column:2 !important;
    grid-row:1 !important;
    display:block !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #shop .cartChoice span{
    grid-column:2 !important;
    grid-row:2 !important;
    display:block !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1.25 !important;
    color:#475569 !important;
    white-space:normal !important;
    overflow:hidden !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }

  #shop .cartChoice:after{
    content:"›" !important;
    position:absolute !important;
    right:12px !important;
    bottom:12px !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    border-radius:999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:24px !important;
    line-height:1 !important;
    margin:0 !important;
  }

  /* schermo più stretto: diventano 2 colonne compatte, mai card enormi */
  @media (min-width:1100px) and (max-width:1320px){
    #shop .cartDesktopTopGrid,
    #shop .cartActionGrid{
      grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    #shop .cartDesktopBox{
      min-height:92px !important;
      max-height:108px !important;
    }

    #shop .cartChoice{
      min-height:84px !important;
      max-height:96px !important;
    }
  }

  /* schermo desktop molto stretto: elenco verticale compatto */
  @media (min-width:1100px) and (max-width:1180px){
    #shop .cartDesktopTopGrid,
    #shop .cartActionGrid{
      grid-template-columns:1fr !important;
    }

    #shop .cartDesktopBox,
    #shop .cartChoice{
      min-height:76px !important;
      max-height:none !important;
    }
  }
}

#buildBadgeV196{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  right:auto !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  box-shadow:none !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v197 - forza allineamento 3 + 3 su desktop */
@media (min-width:1100px){

  #shop .cartDesktopTopGrid,
  #shop .cartActionGrid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:14px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  #shop .cartDesktopTopGrid > *,
  #shop .cartDesktopTopGrid > *:nth-child(3),
  #shop .cartDesktopTopGrid > .cartDesktopTotal,
  #shop .cartActionGrid > *{
    grid-column:auto !important;
  }

  #shop .cartDesktopBox{
    min-width:0 !important;
    width:100% !important;
    min-height:92px !important;
    max-height:110px !important;
    padding:14px 16px !important;
    box-sizing:border-box !important;
  }

  #shop .cartDesktopBox label,
  #shop .cartDesktopBox .label{
    font-size:14px !important;
    margin-bottom:8px !important;
    line-height:1.15 !important;
  }

  #shop .cartDesktopBox select,
  #shop .cartDesktopBox input.search{
    height:40px !important;
    font-size:14px !important;
    border-radius:13px !important;
  }

  #shop .cartDesktopTotal .totalBox{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:8px !important;
  }

  #shop .cartDesktopTotal .amount{
    font-size:28px !important;
    white-space:nowrap !important;
  }

  #shop .cartActionGrid{
    margin-top:14px !important;
  }

  #shop .cartChoice{
    min-width:0 !important;
    width:100% !important;
    min-height:86px !important;
    max-height:96px !important;
    padding:13px 46px 13px 13px !important;
    display:grid !important;
    grid-template-columns:40px minmax(0,1fr) !important;
    column-gap:12px !important;
    align-items:center !important;
    box-sizing:border-box !important;
  }

  #shop .cartChoice .homeTileIcon{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    font-size:19px !important;
  }

  #shop .cartChoice strong{
    font-size:15px !important;
    line-height:1.1 !important;
    margin:0 0 4px 0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #shop .cartChoice span{
    font-size:12px !important;
    line-height:1.22 !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  #shop .cartChoice:after{
    right:11px !important;
    bottom:11px !important;
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    font-size:23px !important;
  }
}

/* anche su desktop stretto resta 3 colonne, non passa a 2 */
@media (min-width:1100px) and (max-width:1320px){
  #shop .cartDesktopTopGrid,
  #shop .cartActionGrid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

#buildBadgeV197{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  right:auto !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  box-shadow:none !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v198 - le tre card superiori restano visibili anche a finestra minima */
#shop > .card > h2,
#shop > .card > p{
  display:none !important;
}

#shop .cartDesktopTopGrid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  align-items:stretch !important;
  margin-bottom:12px !important;
}

#shop .cartDesktopTopGrid > *,
#shop .cartDesktopTopGrid > *:nth-child(3),
#shop .cartDesktopTopGrid > .cartDesktopTotal{
  grid-column:auto !important;
}

#shop .cartDesktopBox{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
  width:100% !important;
  min-height:78px !important;
  max-height:92px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

#shop .cartDesktopBox label,
#shop .cartDesktopBox .label{
  font-size:12px !important;
  line-height:1.1 !important;
  margin:0 0 6px 0 !important;
  white-space:normal !important;
}

#shop .cartDesktopBox select,
#shop .cartDesktopBox input.search{
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  border-radius:12px !important;
  font-size:12px !important;
  padding:0 10px !important;
  box-sizing:border-box !important;
}

#shop .cartDesktopTotal .totalBox{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:center !important;
  gap:6px !important;
  width:100% !important;
}

#shop .cartDesktopTotal .totalBox div[style]{
  display:none !important;
}

#shop .cartDesktopTotal .amount{
  font-size:22px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  margin:0 !important;
}

/* sotto resta 3 card anche quando la finestra è stretta */
#shop .cartActionGrid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:10px !important;
  width:100% !important;
}

#shop .cartChoice{
  min-width:0 !important;
  min-height:116px !important;
  padding:12px !important;
  border-radius:16px !important;
  box-sizing:border-box !important;
}

#buildBadgeV198{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  right:auto !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  box-shadow:none !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v199 - fix testi top card mobile */
#shop .cartDesktopTopGrid{
  align-items:stretch !important;
}

#shop .cartDesktopBox{
  justify-content:flex-start !important;
}

#shop .cartDesktopBox label,
#shop .cartDesktopBox .label{
  display:block !important;
  font-size:11px !important;
  line-height:1.05 !important;
  letter-spacing:0 !important;
  margin-bottom:8px !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

#shop .cartDesktopTotal{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}

#shop .cartDesktopTotal .amount{
  font-size:18px !important;
  line-height:1 !important;
}

#shop .cartDesktopBox select,
#shop .cartDesktopBox input.search{
  margin-top:auto !important;
}

#buildBadgeV199{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v200 - migliora descrizioni top card */
#shop .cartDesktopBox{
  gap:4px !important;
}

#shop .cartDesktopBox label,
#shop .cartDesktopBox .label{
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:0.3px !important;
  text-transform:uppercase !important;
  color:#374151 !important;
  margin-bottom:6px !important;
}

#shop .cartDesktopBox select,
#shop .cartDesktopBox input.search{
  font-size:11px !important;
  font-weight:700 !important;
}

/* totale carrello più compatto */
#shop .cartDesktopTotal{
  padding:10px !important;
}

#shop .cartDesktopTotal .label{
  font-size:9px !important;
  line-height:1.05 !important;
  max-width:72px !important;
}

#shop .cartDesktopTotal .amount{
  font-size:15px !important;
  font-weight:1000 !important;
  line-height:1 !important;
  letter-spacing:-0.5px !important;
}

/* migliora allineamento mobile stretto */
@media (max-width:520px){

  #shop .cartDesktopTopGrid{
    gap:8px !important;
  }

  #shop .cartDesktopBox{
    min-height:74px !important;
    padding:8px !important;
  }

  #shop .cartDesktopBox label,
  #shop .cartDesktopBox .label{
    font-size:9px !important;
  }

  #shop .cartDesktopBox select,
  #shop .cartDesktopBox input.search{
    height:30px !important;
    font-size:10px !important;
    padding:0 8px !important;
  }

  #shop .cartDesktopTotal .amount{
    font-size:13px !important;
  }
}

#buildBadgeV200{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v201 - allineamenti top card */
#shop .cartDesktopTopGrid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:10px !important;
}

#shop .cartDesktopBox{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  text-align:left !important;
  min-height:82px !important;
  max-height:82px !important;
  padding:10px 12px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

#shop .cartDesktopBox label,
#shop .cartDesktopBox .label{
  width:100% !important;
  display:block !important;
  text-align:left !important;
  font-size:10px !important;
  line-height:1.05 !important;
  margin:0 0 7px 0 !important;
  padding:0 !important;
  min-height:20px !important;
  letter-spacing:0.3px !important;
}

#shop .cartDesktopBox select,
#shop .cartDesktopBox input.search{
  width:100% !important;
  margin:0 !important;
  align-self:stretch !important;
  height:32px !important;
  min-height:32px !important;
  border-radius:11px !important;
  font-size:11px !important;
  box-sizing:border-box !important;
}

/* totale allineato */
#shop .cartDesktopTotal{
  justify-content:space-between !important;
}

#shop .cartDesktopTotal .totalBox{
  width:100% !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:8px !important;
}

#shop .cartDesktopTotal .label{
  max-width:78px !important;
}

#shop .cartDesktopTotal .amount{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  min-width:max-content !important;
  text-align:right !important;
  font-size:16px !important;
  margin:0 !important;
  padding:0 !important;
}

/* mobile stretto */
@media (max-width:520px){

  #shop .cartDesktopTopGrid{
    gap:8px !important;
  }

  #shop .cartDesktopBox{
    min-height:76px !important;
    max-height:76px !important;
    padding:8px 9px !important;
  }

  #shop .cartDesktopBox label,
  #shop .cartDesktopBox .label{
    font-size:8.5px !important;
    min-height:18px !important;
  }

  #shop .cartDesktopBox select,
  #shop .cartDesktopBox input.search{
    height:29px !important;
    min-height:29px !important;
    font-size:10px !important;
  }

  #shop .cartDesktopTotal .amount{
    font-size:13px !important;
  }
}

#buildBadgeV201{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v202 - top card uniformi */
#shop .cartDesktopTopGrid{
  align-items:stretch !important;
}

#shop .cartDesktopBox{
  min-height:88px !important;
  max-height:88px !important;
  height:88px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
}

#shop .cartDesktopBox label,
#shop .cartDesktopBox .label{
  min-height:22px !important;
  height:22px !important;
  display:flex !important;
  align-items:flex-start !important;
}

/* totale carrello più semplice */
#shop .cartDesktopTotal .label{
  max-width:none !important;
  width:auto !important;
  white-space:nowrap !important;
}

#shop .cartDesktopTotal .label::after{
  content:none !important;
}

/* forza testo corto */
#shop .cartDesktopTotal .label{
  font-size:10px !important;
}

#buildBadgeV202{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v203 - sistema card Totale carrello */
#shop .cartDesktopTotal{
  background:linear-gradient(135deg,#f7fff9,#ffffff) !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
}

#shop .cartDesktopTotal .totalBox{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:center !important;
  gap:6px !important;
}

#shop .cartDesktopTotal .label{
  display:block !important;
  font-size:10px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.2px !important;
  color:#374151 !important;
  white-space:normal !important;
  max-width:76px !important;
  min-height:auto !important;
  height:auto !important;
  margin:0 !important;
}

#shop .cartDesktopTotal .amount{
  font-size:16px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  color:#16a34a !important;
  white-space:nowrap !important;
  text-align:right !important;
  margin:0 !important;
  padding:0 !important;
  min-width:auto !important;
}

#shop .cartDesktopTotal .totalBox div[style],
#shop .cartDesktopTotal .totalBox > div:first-child > div[style]{
  display:none !important;
}

/* finestre molto strette: totale resta dentro alla sua mini-card */
@media (max-width:520px){
  #shop .cartDesktopTotal{
    padding:8px !important;
  }

  #shop .cartDesktopTotal .totalBox{
    grid-template-columns:1fr auto !important;
    gap:4px !important;
  }

  #shop .cartDesktopTotal .label{
    font-size:8.5px !important;
    max-width:58px !important;
    line-height:1.05 !important;
  }

  #shop .cartDesktopTotal .amount{
    font-size:13px !important;
  }
}

#buildBadgeV203{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v204 - bottone home carrello stabile */
#shop .cartHeader,
#shop .pageHeader,
#shop .carrelloHeader{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  width:100% !important;
  margin-bottom:18px !important;
}

#shop .cartHeader h1,
#shop .pageHeader h1,
#shop .carrelloHeader h1,
#shop h1{
  margin:0 !important;
}

#shop .homeBackBtn,
#shop .backHomeBtn,
#shop .btnHome{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-width:auto !important;
  height:42px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  border:1px solid #e5ddff !important;
  background:#f3edff !important;
  color:#5b21b6 !important;
  font-size:16px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
  flex-shrink:0 !important;
}

@media (max-width:520px){

  #shop .cartHeader,
  #shop .pageHeader,
  #shop .carrelloHeader{
    margin-bottom:14px !important;
  }

  #shop .homeBackBtn,
  #shop .backHomeBtn,
  #shop .btnHome{
    height:36px !important;
    padding:0 14px !important;
    font-size:14px !important;
    gap:6px !important;
  }
}

#buildBadgeV204{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v205 - statistiche: 3 card in unica riga */
@media (min-width:1100px){

  #statistics .statsGrid,
  #statistics .statsCards,
  #statistics .statisticsGrid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  #statistics .statsGrid > *,
  #statistics .statsCards > *,
  #statistics .statisticsGrid > *{
    min-width:0 !important;
    width:100% !important;
    min-height:180px !important;
    box-sizing:border-box !important;
  }
}

#buildBadgeV205{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v206 - statistiche: sub menu seconda riga 3 card allineate */
@media (min-width:1100px){

  #stats .subMenu{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  #stats .subMenu .subTile{
    width:100% !important;
    min-width:0 !important;
    min-height:150px !important;
    max-height:170px !important;
    padding:22px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
    overflow:hidden !important;
  }

  #stats .subMenu .subTile .homeTileIcon{
    margin:0 0 14px 0 !important;
    font-size:30px !important;
  }

  #stats .subMenu .subTile strong{
    display:block !important;
    font-size:22px !important;
    line-height:1.1 !important;
    margin:0 0 8px 0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:100% !important;
  }

  #stats .subMenu .subTile span{
    display:block !important;
    font-size:14px !important;
    line-height:1.3 !important;
    color:#667085 !important;
    max-width:100% !important;
  }
}

#buildBadgeV206{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v207 fix card statistiche desktop + mobile */
#stats .subMenu{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
  gap:18px !important;
  width:100% !important;
  align-items:stretch !important;
}

#stats .subMenu .subTile{
  min-height:180px !important;
  height:auto !important;
  padding:24px !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  overflow:visible !important;
}

#stats .subMenu .subTile strong{
  display:block !important;
  font-size:20px !important;
  line-height:1.15 !important;
  margin:10px 0 12px 0 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
}

#stats .subMenu .subTile span{
  display:block !important;
  font-size:14px !important;
  line-height:1.35 !important;
  color:#667085 !important;
  white-space:normal !important;
}

@media (max-width:700px){

  #stats .subMenu{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  #stats .subMenu .subTile{
    min-height:150px !important;
    padding:14px !important;
  }

  #stats .subMenu .subTile strong{
    font-size:14px !important;
    margin:8px 0 !important;
  }

  #stats .subMenu .subTile span{
    font-size:11px !important;
    line-height:1.2 !important;
  }

  #stats .subMenu .subTile .homeTileIcon{
    font-size:24px !important;
    margin-bottom:6px !important;
  }
}

#buildBadgeV207{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v208 - uniforma bottone home statistiche */
#stats .homeBackBtn,
#stats .backHomeBtn,
#stats .btnHome{
  font-weight:700 !important;
  letter-spacing:0 !important;
}

#buildBadgeV208{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v209 - statistiche: descrizioni più strette e cursore manina */
#stats .subMenu .subTile{
  cursor:pointer !important;
}

#stats .subMenu .subTile span{
  max-width:88% !important;
  font-size:13px !important;
  line-height:1.28 !important;
}

#stats .subMenu .subTile:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.08) !important;
}

#buildBadgeV209{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}


/* v210 - badge unico pulito */
#buildBadgeV210{
  position:fixed !important;
  left:54px !important;
  bottom:58px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  padding:10px 22px !important;
  border-radius:14px !important;
  font-weight:1000 !important;
  z-index:9999 !important;
}

/* v210 - mantieni hover/statistiche */
#stats .subMenu .subTile{
  cursor:pointer !important;
}

#stats .subMenu .subTile span{
  max-width:88% !important;
  font-size:13px !important;
  line-height:1.28 !important;
}

#stats .subMenu .subTile:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.08) !important;
}


/* v211 - versione piccola vicino al nome app, niente badge in basso */
#buildBadgeV210,
#buildBadgeV211{
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:22px !important;
  margin-left:8px !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  font-size:11px !important;
  font-weight:900 !important;
  box-shadow:none !important;
  z-index:auto !important;
  vertical-align:middle !important;
}

/* evita vecchi badge flottanti */
[id^="buildBadgeV"]:not(#buildBadgeV211){
  display:none !important;
}

/* Ricette: nasconde banner/descrizioni ridondanti sotto titolo */
#recipes .recipeBanner,
#recipes .recipesBanner,
#recipes .recipeHeroBanner,
#recipes .recipeIntro,
#recipes .recipesIntro,
#recipes .recipeSubtitle,
#recipes .recipesSubtitle,
#recipes .recipeBottomBanner,
#recipes .recipesBottomBanner,
#recipes .recipeInfoBanner,
#recipes .recipesInfoBanner{
  display:none !important;
}

/* nasconde eventuali testi descrittivi ridondanti generati */
#recipes p{
  display:none !important;
}

/* v212 - versione visibile vicino al nome app */
.appVersionInline{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:10px!important;padding:3px 9px!important;border-radius:999px!important;background:#ede9fe!important;color:#4c1d95!important;font-size:11px!important;font-weight:900!important;line-height:1!important;vertical-align:middle!important;}
[id^="buildBadgeV"],.versionBadge,#versionBadge,#v130Badge,#v129Badge{display:none!important;}
#recipes .recipeBanner,#recipes .recipesBanner,#recipes .recipeHeroBanner,#recipes .recipeIntro,#recipes .recipesIntro,#recipes .recipeBottomBanner,#recipes .recipesBottomBanner,#recipes .recipeInfoBanner,#recipes .recipesInfoBanner,#recipes .recipeAvailableText,#recipes .recipesAvailableText{display:none!important;}
.createRecipeCardV212{border:1px solid rgba(108,77,246,.14)!important;background:linear-gradient(135deg,#ffffff,#f7f3ff)!important;border-radius:22px!important;padding:18px!important;min-height:86px!important;display:flex!important;align-items:center!important;gap:14px!important;cursor:pointer!important;box-shadow:0 8px 22px rgba(15,23,42,.04)!important;margin-bottom:16px!important;}
.createRecipeCardV212:hover{transform:translateY(-2px)!important;box-shadow:0 12px 30px rgba(15,23,42,.08)!important;}
.createRecipeIconV212{width:44px!important;height:44px!important;border-radius:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#ede9fe!important;font-size:24px!important;}
.createRecipeCardV212 strong{display:block!important;color:#4c1d95!important;font-size:18px!important;line-height:1.1!important;}
.createRecipeCardV212 span{display:block!important;color:#64748b!important;font-size:13px!important;line-height:1.25!important;margin-top:4px!important;}
#recipes.recipeCategoryFocusedV212 .recipeCatBtnV163:not(.activeV212),#recipes.recipeCategoryFocusedV212 .recipeCatBtnV159:not(.activeV212),#recipes.recipeCategoryFocusedV212 .recipeCategoryBtn:not(.activeV212),#recipes.recipeCategoryFocusedV212 [data-cat]:not(.activeV212){display:none!important;}
.recipeCloseCategoryV212{display:none;margin:0 0 14px 0;border:0;border-radius:999px;background:#ede9fe;color:#4c1d95;padding:9px 16px;font-weight:900;cursor:pointer;}
#recipes.recipeCategoryFocusedV212 .recipeCloseCategoryV212{display:inline-flex!important;}


/* v213 - crea ricetta come categoria */
.createRecipeCardV212{
  width:100% !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 18px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
}

.createRecipeCardV212 strong{
  font-size:15px !important;
  margin:0 !important;
}

.createRecipeCardV212 span{
  display:none !important;
}

.createRecipeIconV212{
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  font-size:18px !important;
}

/* elimina banner vuoto sotto categorie */
#recipes .emptyRecipeState,
#recipes .recipesEmptyState,
#recipes .recipePlaceholder,
#recipes .recipesPlaceholder,
#recipes .emptyRecipesBox{
  display:none !important;
}


/* v214 - ricette: una sola barra categoria + crea ricetta in griglia */
#recipes .recipeCloseCategoryV212{
  display:none !important;
}

#recipes.recipeCategoryFocusedV212 .recipeCloseCategoryV212{
  display:none !important;
}

/* quando categoria aperta: resta solo la pill attiva che fa anche da chiusura */
#recipes.recipeCategoryFocusedV212 .activeV212{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  max-width:max-content !important;
}

/* evita doppio pulsante categoria duplicato */
#recipes.recipeCategoryFocusedV212 .recipeCatBtnV163.activeV212 ~ .recipeCatBtnV163.activeV212,
#recipes.recipeCategoryFocusedV212 .recipeCatBtnV159.activeV212 ~ .recipeCatBtnV159.activeV212,
#recipes.recipeCategoryFocusedV212 .recipeCategoryBtn.activeV212 ~ .recipeCategoryBtn.activeV212{
  display:none !important;
}

/* card crea ricetta uguale a una categoria */
.createRecipeCardV212{
  min-height:54px !important;
  height:54px !important;
  margin:0 !important;
  padding:0 18px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  box-sizing:border-box !important;
  width:100% !important;
}

.createRecipeIconV212{
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  font-size:18px !important;
}

.createRecipeCardV212 strong{
  font-size:15px !important;
  line-height:1 !important;
  margin:0 !important;
}

.createRecipeCardV212 span{
  display:none !important;
}


/* v215 - ricette pulite: niente duplicati */
#recipes .createRecipeCardV212,
#recipes .recipeCloseCategoryV212{
  display:none !important;
}

#recipes .recipesHeadV163 p,
#recipes #recipeEmptyV163:empty,
#recipes #recipeEmptyV163[style*="display: none"]{
  display:none !important;
}

#recipes #activeCategoryV163{
  max-width:max-content !important;
  cursor:pointer !important;
}

#recipes #activeCategoryV163 strong{
  font-weight:900 !important;
}

#recipes #categoryBarV163{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

@media (max-width:700px){
  #recipes #categoryBarV163{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

#buildBadgeV215{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:10px !important;
  padding:3px 9px !important;
  border-radius:999px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  font-size:11px !important;
  font-weight:900 !important;
}


/* v216 - ricette final: niente banner sotto, categorie nascoste quando una è aperta */
#recipes #recipeEmptyV163:empty{
  display:none !important;
}

#recipes #recipeEmptyV163{
  min-height:0 !important;
}

#recipes #recipeEmptyV163[style*="display: none"]{
  display:none !important;
}

#recipes #activeCategoryV163:not([style*="display: none"]) ~ #categoryBarV163,
#recipes.recipeCategoryFocusedV212 #categoryBarV163{
  display:none !important;
}

#recipes #activeCategoryV163{
  cursor:pointer !important;
}

.appVersionInline{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:10px !important;
  padding:3px 9px !important;
  border-radius:999px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  vertical-align:middle !important;
}

/* v217 - ricette: niente banner flash e categorie ripristinate */
#recipes #recipeEmptyV163:empty,
#recipes #recipeEmptyV163[style*="display: none"]{
  display:none !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}

#recipes #categoryBarV163{
  display:grid;
}

.appVersionInline{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:10px !important;
  padding:3px 9px !important;
  border-radius:999px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  vertical-align:middle !important;
}


/* v218 category behavior */
#categoryBarV163{
  display:grid;
}


/* v221 - versione vicino al nome app */
.appVersionInline{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:10px !important;
  padding:3px 9px !important;
  border-radius:999px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  vertical-align:middle !important;
}

/* v221 - bottone home in Ricette */
#recipes .recipesHomeBtnV221{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  height:38px !important;
  padding:0 16px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#ede9fe !important;
  color:#4c1d95 !important;
  font-size:14px !important;
  font-weight:700 !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}

#recipes .recipesTopV221{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  width:100% !important;
  margin-bottom:14px !important;
}

/* v221 - nasconde solo la riga informativa del carrello, senza toccare struttura */
#shop .cartDesktopTopGrid + .cartInfoLineV221{
  display:none !important;
}


/* v224 - ricette: la barra categorie viene nascosta via JS quando una categoria è aperta */
#categoryBarV163[style*="display: none"]{
  display:none !important;
}

/* v2.2.90 - corsie compatte responsive: più card per riga su PC */
.aisleHeaderV231{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.aisleHeaderV231 h3{margin-bottom:4px;}
.aisleHeaderV231 p{margin:0;color:#6b7280;font-size:12px;line-height:1.3;}
#toggleAislesV231{white-space:nowrap;}
#aislePanelV231{margin-top:12px;}
.aisleCardsGridV231{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:8px!important;
  margin-top:10px!important;
  align-items:start!important;
}
.aisleCardV231{
  border:1px solid rgba(124,58,237,.12)!important;
  background:#fff!important;
  border-radius:14px!important;
  padding:8px!important;
  box-shadow:0 4px 14px rgba(17,24,39,.045)!important;
  min-width:0!important;
}
.aisleCardTopV231{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;margin-bottom:6px!important;}
.aisleCardActionsV231{display:flex!important;gap:4px!important;}
.aisleCardActionsV231 .marketMiniBtn{height:26px!important;min-height:26px!important;padding:0 8px!important;font-size:11px!important;border-radius:999px!important;}
.aisleCardV231 .superAisleNumV124{min-width:34px!important;height:26px!important;border-radius:9px!important;font-size:12px!important;padding:0 6px!important;}
.aisleNameInputV231{width:100%!important;border:0!important;background:#f8fafc!important;border-radius:10px!important;padding:7px 8px!important;font-weight:800!important;color:#111827!important;margin-bottom:6px!important;font-size:12px!important;line-height:1.2!important;}
.aisleItemsInputV231{width:100%!important;min-height:46px!important;max-height:74px!important;border:0!important;background:#f8fafc!important;border-radius:10px!important;padding:7px 8px!important;color:#4b5563!important;resize:vertical!important;font-size:11px!important;line-height:1.25!important;}
.aisleNameInputV231[readonly],.aisleItemsInputV231[readonly]{cursor:default;}
.aisleCardV231.editing .aisleNameInputV231,.aisleCardV231.editing .aisleItemsInputV231{background:#fff!important;border:1px solid rgba(124,58,237,.25)!important;}
@media(min-width:1200px){.aisleCardsGridV231{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;}}
@media(max-width:720px){.aisleHeaderV231{flex-direction:column}.aisleHeaderV231 #toggleAislesV231{width:100%;}.aisleCardsGridV231{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;}}


/* v2.2.90 - corsie responsive leggibili: massimo 6 card per riga */
.aisleHeaderV231{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.aisleHeaderV231 h3{margin-bottom:4px;}
.aisleHeaderV231 p{margin:0;color:#6b7280;font-size:12px;line-height:1.3;}

#aislePanelV231{margin-top:12px;}
.aisleCardsGridV231{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important;
  gap:10px!important;
  align-items:start!important;
  max-width:1160px!important;
}
.aisleCardV231{
  padding:11px!important;border-radius:15px!important;min-height:0!important;
  box-shadow:0 4px 12px rgba(15,23,42,.045)!important;
}
.aisleCardTopV231{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;margin-bottom:7px!important;}
.aisleCardActionsV231{display:flex!important;gap:4px!important;}
.aisleCardActionsV231 .marketMiniBtn{height:27px!important;min-height:27px!important;padding:0 9px!important;font-size:11px!important;border-radius:999px!important;}
.aisleCardV231 .superAisleNumV124{min-width:36px!important;height:27px!important;border-radius:9px!important;font-size:12px!important;padding:0 6px!important;}
.aisleNameInputV231{width:100%!important;border:0!important;background:#f8fafc!important;border-radius:10px!important;padding:8px 9px!important;font-weight:800!important;color:#111827!important;margin-bottom:7px!important;font-size:12px!important;line-height:1.2!important;}
.aisleItemsInputV231{width:100%!important;min-height:52px!important;max-height:84px!important;border:0!important;background:#f8fafc!important;border-radius:10px!important;padding:8px 9px!important;color:#4b5563!important;resize:vertical!important;font-size:11px!important;line-height:1.25!important;}
.aisleNameInputV231[readonly],.aisleItemsInputV231[readonly]{cursor:default;}
.aisleCardV231.editing .aisleNameInputV231,.aisleCardV231.editing .aisleItemsInputV231{background:#fff!important;border:1px solid rgba(124,58,237,.25)!important;}
@media(min-width:1500px){.aisleCardsGridV231{grid-template-columns:repeat(6,minmax(0,1fr))!important;}}
@media(max-width:1199px){.aisleCardsGridV231{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;max-width:none!important;}}
@media(max-width:720px){.aisleHeaderV231{flex-direction:column}.aisleHeaderV231 #toggleAislesV231{width:100%;}.aisleCardsGridV231{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;}}
@media(max-width:430px){.aisleCardsGridV231{grid-template-columns:1fr!important;}}


/* ===== v2.2.90 - Corsie wide responsive: max 6 card, spazio pieno ===== */
#aislePanelV231{
  width:100% !important;
}
.aisleCardsGridV231{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  overflow:visible !important;
}
.aisleCardV231{
  width:100% !important;
  min-width:0 !important;
  min-height:190px !important;
  border-radius:18px !important;
  padding:14px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}
.aisleCardTopV231{
  margin-bottom:12px !important;
}
.aisleCardActionsV231 .marketMiniBtn{
  height:32px !important;
  min-height:32px !important;
  padding:0 12px !important;
  font-size:12px !important;
}
.aisleCardV231 .superAisleNumV124{
  min-width:46px !important;
  height:32px !important;
  border-radius:10px !important;
  font-size:14px !important;
}
.aisleNameInputV231{
  font-size:14px !important;
  min-height:40px !important;
  padding:10px 11px !important;
  margin-bottom:8px !important;
}
.aisleItemsInputV231{
  min-height:82px !important;
  max-height:120px !important;
  font-size:12px !important;
  line-height:1.35 !important;
  padding:10px 11px !important;
  flex:1 1 auto !important;
}
@media(max-width:1500px){
  .aisleCardsGridV231{grid-template-columns:repeat(5, minmax(0,1fr)) !important;}
}
@media(max-width:1250px){
  .aisleCardsGridV231{grid-template-columns:repeat(4, minmax(0,1fr)) !important;}
}
@media(max-width:980px){
  .aisleCardsGridV231{grid-template-columns:repeat(3, minmax(0,1fr)) !important;}
}
@media(max-width:720px){
  .aisleCardsGridV231{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
  .aisleCardV231{min-height:170px !important;}
}
@media(max-width:460px){
  .aisleCardsGridV231{grid-template-columns:1fr !important;}
}


/* v2.2.90 - Ricette: menu categorie responsive max 4 e Colazioni con icona corretta */
#recipes #categoryBarV163{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}
#recipes #categoryBarV163 .categoryChipV163{
  min-height:72px !important;
  height:auto !important;
  border-radius:20px !important;
  padding:14px 16px !important;
  justify-content:flex-start !important;
  align-items:center !important;
  white-space:normal !important;
  line-height:1.15 !important;
}
#recipes #categoryBarV163 .categoryChipV163 span{
  font-size:26px !important;
  min-width:32px !important;
}
#recipes #categoryBarV163 .categoryChipV163 strong{
  font-size:15px !important;
  line-height:1.15 !important;
}
@media (min-width:1200px){
  #recipes #categoryBarV163{grid-template-columns:repeat(4, minmax(0, 1fr)) !important;}
}
@media (min-width:760px) and (max-width:1199px){
  #recipes #categoryBarV163{grid-template-columns:repeat(3, minmax(0, 1fr)) !important;}
}
@media (max-width:759px){
  #recipes #categoryBarV163{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;gap:10px !important;}
  #recipes #categoryBarV163 .categoryChipV163{min-height:64px !important;padding:12px 12px !important;border-radius:18px !important;}
  #recipes #categoryBarV163 .categoryChipV163 span{font-size:22px !important;min-width:28px !important;}
  #recipes #categoryBarV163 .categoryChipV163 strong{font-size:13px !important;}
}


/* ===== v2.2.90 - Form prodotto: Supermercato/Icona compatto SAFE solo CSS/HTML ===== */
.labelWithHelp{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.labelWithHelp small{
  font-size:12px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
  color:#6b7280;
  line-height:1.2;
}
.labelWithHelp small:before{
  content:"";
  display:inline-block;
  width:1px;
  height:14px;
  background:#e5e7eb;
  margin:0 10px -2px 0;
}
.productIconField select#emoji{
  min-height:46px;
  padding:10px 12px;
  font-size:18px;
}
.productMarketField select#market{
  min-height:46px;
}
.productMarketField .fieldHelp{
  display:none!important;
}
@media (max-width: 760px){
  .labelWithHelp{align-items:flex-start;gap:4px;}
  .labelWithHelp small{display:block;width:100%;}
  .labelWithHelp small:before{display:none;}
}


/* ===== v2.2.90 SAFE - Pulizia campo Supermercato/Icona prodotto ===== */
#productAdd .productMarketField .marketScopeNoteV126{display:none!important;}
#productAdd .productIconField select#emoji{min-height:46px!important;padding:10px 12px!important;font-size:16px!important;}
#productAdd .productMarketField select#market{min-height:46px!important;}
@media (min-width: 900px){
  #productAdd .productMarketField{min-width:0;}
  #productAdd .productIconField{min-width:0;}
}


/* ===== v2.2.90 SAFE - Menu Prodotti responsive: 3 desktop / 2 tablet / 1 mobile ===== */
#productsMenu .productChoiceGrid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
#productsMenu .productChoice{
  width:100% !important;
  min-width:0 !important;
  min-height:156px !important;
  box-sizing:border-box !important;
}
#productsMenu .productChoice .homeTileIcon{
  font-size:34px !important;
  margin-bottom:10px !important;
}
#productsMenu .productChoice strong{
  font-size:18px !important;
  line-height:1.15 !important;
}
#productsMenu .productChoice span{
  font-size:13px !important;
  line-height:1.32 !important;
}
@media (max-width: 1024px){
  #productsMenu .productChoiceGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px){
  #productsMenu .productChoiceGrid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  #productsMenu .productChoice{
    min-height:132px !important;
    padding:16px !important;
    border-radius:22px !important;
  }
}

/* v2.3.66 - card scontrino futura: non cliccabile */
.productChoiceDisabled{
  cursor:default !important;
  opacity:.72;
}
.productChoiceDisabled:hover{
  transform:none !important;
  box-shadow:0 10px 28px rgba(15,23,42,.08) !important;
}


/* v2.3.66 - SAFE: mostra il bottone Home nella sezione Carrello senza toccare JS */
#shop .sectionTop .backHome{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  height:42px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  border:1px solid #e5ddff !important;
  background:#f3edff !important;
  color:#5b21b6 !important;
  font-size:16px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
  flex-shrink:0 !important;
}
@media (max-width:520px){
  #shop .sectionTop .backHome{
    height:36px !important;
    padding:0 14px !important;
    font-size:14px !important;
  }
}


/* v2.3.66 - Statistiche: le 3 card dei progressivi restano in 3 colonne anche su smartphone */
#stats > .statsGrid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:8px !important;
}
#stats > .statsGrid .statCard{
  min-width:0 !important;
  padding:10px 8px !important;
  border-radius:18px !important;
}
#stats > .statsGrid .statLabel{
  font-size:11px !important;
  line-height:1.15 !important;
  margin-bottom:5px !important;
}
#stats > .statsGrid .statValue{
  font-size:18px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
#stats > .statsGrid .smallMuted{
  display:none !important;
}
@media(min-width:721px){
  #stats > .statsGrid{
    gap:12px !important;
  }
  #stats > .statsGrid .statCard{
    padding:16px !important;
    border-radius:22px !important;
  }
  #stats > .statsGrid .statLabel{
    font-size:13px !important;
  }
  #stats > .statsGrid .statValue{
    font-size:25px !important;
  }
  #stats > .statsGrid .smallMuted{
    display:block !important;
  }
}

/* ===== v2.3.66 - Impostazioni: riga Utente + Supermercati e Sync famiglia sotto ===== */
.settingsQuickCard{
  padding:18px;
}
.settingsQuickGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.settingsQuickBlock{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.settingsQuickBlock h3{
  margin-bottom:2px;
}
.settingsQuickBlock .btn{
  margin-top:2px;
}
.settingsSyncCard{
  display:grid;
  grid-template-columns:1fr minmax(180px,260px);
  gap:16px;
  align-items:center;
}
.settingsSyncCard h3{
  margin-bottom:4px;
}
.settingsSyncCard p{
  margin-bottom:0;
}
@media(max-width:760px){
  .settingsQuickGrid,
  .settingsSyncCard{
    grid-template-columns:1fr;
  }
}


/* v2.3.66 - Cronologia spese: sessioni raggruppate */
.expenseHistoryList{
  display:grid;
  gap:14px;
}
.expenseSessionCard{
  border:1px solid rgba(109,40,217,.14);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 28px rgba(30,20,80,.06);
}
.expenseSessionHead{
  width:100%;
  border:0;
  background:linear-gradient(135deg,#ffffff,#f7f2ff);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  text-align:left;
  cursor:pointer;
}
.expenseSessionTitle{
  color:#4c1d95;
  font-weight:900;
  font-size:18px;
}
.expenseSessionRight{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  color:#111827;
  white-space:nowrap;
}
.expenseSessionRight span{
  font-size:12px;
  color:#6b7280;
  font-weight:800;
}
.expenseSessionDetail{
  padding:10px 16px 16px;
  background:#fff;
}
.expenseItemRow{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-top:1px solid rgba(17,24,39,.08);
}
.expenseItemMeta{
  display:flex;
  gap:12px;
  align-items:center;
  white-space:nowrap;
}
@media(max-width:640px){
  .expenseSessionHead{padding:14px 14px;}
  .expenseSessionTitle{font-size:16px;}
  .expenseItemRow{align-items:flex-start;}
  .expenseItemMeta{flex-direction:column;align-items:flex-end;gap:4px;}
}


/* v2.3.66 - header pulito: solo logo, nome app e versione */
.headerTitleText .sub{display:none!important;}
.desktopSidebarBrand > div > span:not(.sidebarVersionMiniV276){display:none!important;}
body > [id^="buildBadgeV"], body > .versionBadge, body > #versionBadge{display:none!important;}

/* v2.3.66 - Statistiche card descrizioni compatte */
#stats .subMenu .subTile span {
  display: block;
  line-height: 1.25;
  min-height: 2.5em;
  max-height: 2.5em;
  overflow: hidden;
}
#stats .subMenu .subTile strong {
  display: block;
  margin-bottom: 8px;
}

/* ===== v2.3.82 - Prodotti: card testo pulito full width, solo CSS ===== */
#productsMenu .productChoice{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  grid-template-rows:auto auto !important;
  column-gap:14px !important;
  row-gap:6px !important;
  align-content:center !important;
  align-items:center !important;
  padding:24px 26px !important;
  min-height:150px !important;
  text-align:left !important;
}
#productsMenu .productChoice .homeTileIcon{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  margin:0 !important;
  width:46px !important;
  min-width:46px !important;
  height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:32px !important;
}
#productsMenu .productChoice strong{
  grid-column:2 !important;
  grid-row:1 !important;
  display:block !important;
  margin:0 !important;
  max-width:100% !important;
  color:#5b21b6 !important;
  font-size:22px !important;
  line-height:1.05 !important;
}
#productsMenu .productChoice span{
  grid-column:2 !important;
  grid-row:2 !important;
  display:block !important;
  margin:0 !important;
  max-width:34ch !important;
  color:#64748b !important;
  font-size:15px !important;
  line-height:1.32 !important;
}
@media (max-width: 900px){
  #productsMenu .productChoice{
    padding:20px !important;
  }
  #productsMenu .productChoice strong{
    font-size:20px !important;
  }
  #productsMenu .productChoice span{
    font-size:14px !important;
    max-width:none !important;
  }
}
@media (max-width: 640px){
  #productsMenu .productChoice{
    grid-template-columns:auto 1fr !important;
    min-height:118px !important;
    padding:18px !important;
  }
  #productsMenu .productChoice .homeTileIcon{
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
    font-size:28px !important;
  }
  #productsMenu .productChoice strong{
    font-size:19px !important;
  }
}
