:root{
    --cream:#f6efe4;
    --ink:#16131c;
    --pink:#ff3d8a;
    --grape:#3a1257;
    --lime:#d4ff3f;
    --line: rgba(22,19,28,0.14);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{
    background:var(--cream);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    line-height:1.5;
    overflow-x:hidden;
  }
  h1,h2,h3, .display{
    font-family:'Unbounded', sans-serif;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}

  /* ---------- NAV ---------- */
  header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:26px 6vw;
    position:relative;
    z-index:10;
  }
  .logo{
    font-family:'Unbounded', sans-serif;
    font-weight:900;
    font-size:22px;
    letter-spacing:-0.5px;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .logo span{color:var(--pink);}
  .logo img{
    height:38px;
    width:38px;
    object-fit:contain;
    border-radius:50%;
    background:var(--ink);
    padding:3px;
  }
  footer .logo img{
    height:44px;
    width:44px;
  }
  nav ul{
    list-style:none;
    display:flex;
    gap:36px;
    font-size:15px;
    font-weight:500;
  }
  nav a{
    position:relative;
    padding-bottom:4px;
  }
  nav a:hover{color:var(--pink);}
  .nav-cart{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:600;
    font-size:14px;
    border:1.5px solid var(--ink);
    padding:8px 16px;
    border-radius:100px;
  }
  @media(max-width:820px){
    nav ul{display:none;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:40px 6vw 100px;
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:40px;
    align-items:center;
  }
  .hero-copy{position:relative; z-index:3;}
  .eyebrow-badge{
    display:inline-block;
    background:var(--ink);
    color:var(--cream);
    font-weight:600;
    font-size:13px;
    padding:7px 16px;
    border-radius:100px;
    transform:rotate(-3deg);
    margin-bottom:26px;
  }
  .hero h1{
    font-size:clamp(42px, 6vw, 84px);
    font-weight:900;
    line-height:0.98;
    letter-spacing:-1.5px;
    margin-bottom:28px;
  }
  .hero h1 .stroke{
    -webkit-text-stroke:2px var(--ink);
    color:transparent;
  }
  .hero p{
    font-size:18px;
    max-width:440px;
    color:rgba(22,19,28,0.75);
    margin-bottom:36px;
  }
  .btn-row{display:flex; gap:16px; flex-wrap:wrap;}
  .btn{
    font-family:'Unbounded', sans-serif;
    font-weight:600;
    font-size:14.5px;
    padding:17px 30px;
    border-radius:100px;
    display:inline-block;
    transition:transform 0.15s ease;
  }
  .btn-primary{background:var(--pink); color:var(--ink);}
  .btn-primary:hover{transform:translateY(-3px);}
  .btn-outline{border:2px solid var(--ink); background:transparent;}
  .btn-outline:hover{background:var(--ink); color:var(--cream);}

  .hero-visual{
    position:relative;
    aspect-ratio:4/5;
  }
  .blob{
    position:absolute;
    inset:0;
    background:var(--grape);
    border-radius:38% 62% 63% 37% / 41% 44% 56% 59%;
  }
  .hero-card{
    position:absolute;
    top:8%; left:8%; right:14%; bottom:8%;
    background:linear-gradient(155deg, var(--pink) 0%, #ffb0d4 100%);
    border-radius:32px;
    transform:rotate(-4deg);
    display:flex;
    align-items:flex-end;
    padding:26px;
    box-shadow:14px 20px 0 var(--ink);
  }
  .hero-card .tag{
    font-family:'Unbounded', sans-serif;
    font-weight:800;
    font-size:15px;
    background:var(--ink);
    color:var(--cream);
    padding:10px 16px;
    border-radius:100px;
    transform:rotate(3deg);
  }
  .sticker{
    position:absolute;
    background:var(--lime);
    color:var(--ink);
    font-family:'Unbounded', sans-serif;
    font-weight:800;
    font-size:13px;
    width:96px; height:96px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1.15;
    transform:rotate(12deg);
    top:-6%; right:2%;
    box-shadow:0 6px 0 var(--ink);
  }

  /* ---------- MARQUEE ---------- */
  .marquee-wrap{
    background:var(--ink);
    color:var(--cream);
    padding:16px 0;
    overflow:hidden;
    white-space:nowrap;
    transform:rotate(-1.4deg) scale(1.02);
    margin:0 -6vw;
  }
  .marquee{
    display:inline-block;
    font-family:'Unbounded', sans-serif;
    font-weight:700;
    font-size:20px;
    animation:scroll 22s linear infinite;
  }
  .marquee span{margin:0 28px; color:var(--pink);}
  @keyframes scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* ---------- PRODUCTS ---------- */
  .section{padding:110px 6vw;}
  .section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin-bottom:56px;
    gap:24px;
    flex-wrap:wrap;
  }
  .section-head h2{
    font-size:clamp(32px, 4vw, 52px);
    font-weight:800;
    letter-spacing:-1px;
    max-width:560px;
  }
  .section-head p{
    max-width:320px;
    color:rgba(22,19,28,0.7);
    font-size:15px;
  }

  .grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:38px 30px;
  }
  @media(max-width:900px){ .grid{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:600px){ .grid{grid-template-columns:1fr;} }

  .product{position:relative;}
  .product-frame{
    aspect-ratio:3/4;
    border-radius:20px;
    position:relative;
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    padding:16px;
    margin-bottom:18px;
    transition:transform 0.2s ease;
  }
  .product:nth-child(3n+1) .product-frame{ transform:rotate(-2deg); }
  .product:nth-child(3n+2) .product-frame{ transform:rotate(1.6deg); }
  .product:nth-child(3n+3) .product-frame{ transform:rotate(-1deg); }
  .product:hover .product-frame{ transform:rotate(0deg) translateY(-6px); }

  .price-tag{
    font-family:'Unbounded', sans-serif;
    font-weight:700;
    font-size:14px;
    background:var(--cream);
    padding:8px 14px;
    border-radius:100px;
    border:2px solid var(--ink);
    transform:rotate(3deg);
  }
  .preview-ribbon{
    position:absolute;
    top:14px;
    left:-8px;
    background:var(--ink);
    color:var(--lime);
    font-family:'Unbounded', sans-serif;
    font-weight:700;
    font-size:11px;
    letter-spacing:0.5px;
    padding:6px 14px;
    transform:rotate(-6deg);
    z-index:2;
    box-shadow:3px 3px 0 rgba(0,0,0,0.15);
  }
  .wip-banner{
    display:flex;
    align-items:center;
    gap:12px;
    background:var(--ink);
    color:var(--cream);
    border-radius:100px;
    padding:12px 22px;
    font-size:14px;
    font-weight:500;
    max-width:fit-content;
    margin-bottom:40px;
  }
  .wip-banner .dot{
    width:9px; height:9px;
    border-radius:50%;
    background:var(--lime);
    flex-shrink:0;
    animation:pulse 1.6s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{opacity:1;}
    50%{opacity:0.35;}
  }
  .product h3{
    font-size:18px;
    font-weight:600;
    margin-bottom:4px;
  }
  .product .cat{
    font-size:13px;
    color:rgba(22,19,28,0.55);
  }

  .p1{background:linear-gradient(160deg,#ffd1e6,#ff8fc1);}
  .p2{background:linear-gradient(160deg,#e4d4ff,#b892f2);}
  .p3{background:linear-gradient(160deg,#c9f7d9,#7bd99a);}
  .p4{background:linear-gradient(160deg,#ffe3b0,#ffb95c);}
  .p5{background:linear-gradient(160deg,#c6e6ff,#79b8f2);}
  .p6{background:linear-gradient(160deg,#ffc9c9,#ff8080);}

  /* ---------- ABOUT STRIP ---------- */
  .about{
    background:var(--grape);
    color:var(--cream);
    padding:120px 6vw;
    position:relative;
  }
  .about-inner{
    max-width:720px;
  }
  .about .kicker{
    font-family:'Unbounded', sans-serif;
    font-weight:700;
    color:var(--lime);
    font-size:14px;
    margin-bottom:20px;
    display:inline-block;
  }
  .about h2{
    font-size:clamp(30px,4.2vw,50px);
    font-weight:700;
    line-height:1.15;
    letter-spacing:-1px;
    margin-bottom:28px;
  }
  .about p{
    font-size:17px;
    color:rgba(246,239,228,0.8);
    max-width:520px;
  }

  /* ---------- NEWSLETTER ---------- */
  .newsletter{
    padding:100px 6vw;
    text-align:center;
  }
  .newsletter h2{
    font-size:clamp(30px,4vw,48px);
    font-weight:800;
    max-width:640px;
    margin:0 auto 34px;
    letter-spacing:-1px;
  }
  .nl-form{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
  }
  .nl-form input{
    font-family:'Inter';
    font-size:15px;
    padding:16px 22px;
    border-radius:100px;
    border:2px solid var(--ink);
    background:transparent;
    width:320px;
    max-width:70vw;
  }
  .nl-form input::placeholder{color:rgba(22,19,28,0.5);}

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--ink);
    color:var(--cream);
    padding:70px 6vw 34px;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:40px;
    margin-bottom:60px;
  }
  @media(max-width:760px){ .footer-grid{grid-template-columns:1fr 1fr;} }
  footer .logo{font-size:24px; margin-bottom:14px;}
  footer .col h4{
    font-family:'Unbounded';
    font-size:13px;
    margin-bottom:16px;
    color:var(--pink);
  }
  footer .col ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
  footer .col a{font-size:14.5px; color:rgba(246,239,228,0.75);}
  footer .col a:hover{color:var(--cream);}
  .footer-bottom{
    border-top:1px solid rgba(246,239,228,0.15);
    padding-top:26px;
    display:flex;
    justify-content:space-between;
    font-size:13px;
    color:rgba(246,239,228,0.55);
    flex-wrap:wrap;
    gap:12px;
  }

/* ---------- CATEGORY HERO (pagine Uomo/Donna/Accessori) ---------- */
.cat-hero{
  padding:64px 6vw 48px;
  border-bottom:1px solid var(--line);
}
.cat-hero.donna{background:linear-gradient(160deg, #ffe1ef 0%, var(--cream) 75%);}
.cat-hero.uomo{background:linear-gradient(160deg, #e7d9ff 0%, var(--cream) 75%);}
.cat-hero.accessori{background:linear-gradient(160deg, #eaffb0 0%, var(--cream) 75%);}
.cat-hero .eyebrow-badge{margin-bottom:20px;}
.cat-hero h1{
  font-size:clamp(38px, 5.4vw, 68px);
  font-weight:800;
  letter-spacing:-1.2px;
  margin-bottom:16px;
  max-width:700px;
}
.cat-hero p{
  font-size:16.5px;
  color:rgba(22,19,28,0.72);
  max-width:480px;
}

/* breadcrumb semplice */
.breadcrumb{
  font-size:13px;
  color:rgba(22,19,28,0.55);
  margin-bottom:18px;
}
.breadcrumb a{color:var(--ink); font-weight:600;}
.breadcrumb a:hover{color:var(--pink);}
