/* ==============================
   MOBILE.CSS
   Sito: Nicole Londino
   Ultimo aggiornamento: 2025-11-06
   Richiede: variables.css, style.css, typography.css
   ============================== */

@media (max-width: 1024px) {
  /* COMPONENTI BASE */
  .btn {
    display: inline-block;
    cursor: pointer;
    transition: var(--transition);

    padding: 1.25rem 7.75rem 1.25rem 7.75rem;
    margin: 2.25rem 0 3.75rem 0;
  }

  .mobile-hidden {
    display: none;
  }

  /* ================= HEADER ================= */

  header {
    margin: 1.85rem 0 2.06rem 0;
  }

  header ul {
    gap: 0;
  }

  header li {
    width: auto;
  }

  .menu-toggle {
    display: block;
  }

  /* ================= MAIN ================= */

  .box {
    padding: 1.87rem 2.75rem 1.87rem 2.75rem;
  }

  /* 🖥️ DISPLAY */
  .display {
    width: auto;
  }

  .title-hero {
    white-space: normal; /* consente l’a capo */
    display: inline-block;
    line-height: 3.125rem;
  }

  .subtitle {
    margin-top: 1.25rem;
    position: static;
    text-align: center;
    margin-top: 0;
    width: auto;
  }

  /* 🌸 HERO */
  .hero {
    margin: 6.25rem 0 3.75rem 0;
    gap: 0;
    text-align: center;
    height: 36.125rem;
  }

  .hero img {
    position: relative;
    bottom: 2.09rem;
    width: 11.3125rem;
    height: 18.4375rem;
  }

  .container {
    flex-direction: column;
  }

  .hero p {
    max-width: 19.25rem;
    margin: 0.75rem 0 0 0;
  }

  /* 📚 SEZIONE: LIBRI */

  .allbooks {
    grid-template-columns: repeat(2, 9rem); /* = larghezza immagine */
    column-gap: 2.44rem;
    row-gap: 2.4rem;
    justify-content: center; /* centra l'intera griglia */
    justify-items: center; /* centra gli elementi dentro */
    margin-top: 2.5rem;
  }

  .allbooks img {
    width: 9.0625rem;
    height: 14.625rem;
  }

  .allbooks h4 {
    margin: 1.25rem 0 0.87rem 0;
  }

  .ocean-eyes {
    display: none;
  }

  .ocean-eyes-mobile {
    display: block;
  }

  /* 🪶 SEZIONE: CHI SONO */

  .container-2 {
    flex-direction: column;
    align-items: stretch; /* i figli occupano tutta la larghezza */
  }

  .aboutme {
    margin: 3.75rem 0 0 0;
    gap: 3.75rem;
  }

  .aboutme-left {
    margin: 0 0 0 0;
    padding: 3.75rem 1rem 3.75rem 1rem;
    text-align: center;
  }

  .aboutme .aboutme-left {
    justify-content: center; /* mantiene il layout interno */
    align-items: center;
  }

  .aboutme-left img {
    width: 11.8125rem;
    height: 11.8125rem;
    border-radius: 50%; /* Lo rende circolare */
    object-fit: cover;
    object-position: center 20%;
    margin-bottom: 2.5rem;
  }

  .aboutme-left div {
    padding: 0 0 0 0;
  }

  .aboutme-left p {
    width: 19.0625rem;
    margin: 0.88rem 0 1.25rem 0;
  }

  .aboutme-left a {
    align-self: flex-end;
  }

  .my-blog {
    text-align: center;
    align-items: center;
  }

  .my-blog p {
    max-width: 14rem;
    margin: 1.25rem 0 0 0;
  }

  /* ================= FOOTER ================= */

  .footer-nicole div {
    flex-direction: column;
  }

  .footer-nicole {
    padding: 3.75rem 1rem 1.25rem 1rem;
  }

  .gap-f-1 {
    gap: 2.5rem;
  }

  .gap-f-2 {
    gap: 1.5rem;
  }

  .footer-nicole h3 {
    width: 5.25rem;
  }

  .footer-nicole h4 {
    width: 14.375rem;
  }

  .footer-nicole article {
    margin-top: 3.87rem;
  }

  .social h3 {
    width: 9.5rem;
  }

  .social img {
    margin-right: 1.89rem;
  }

  /* FINE FOOTER */
  /* INIZIO PIMU FOOTER */
  .footer-pimu img {
    width: 12.875rem;
    height: 6.73081rem;
  }

  .footer-pimu a {
    gap: 1.25rem;
    padding: 3.75rem 1rem 3.75rem 1rem;
  }

  /* FINE PIMU FOOTER */

  /* NAVBAR */
  nav {
    top: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    position: absolute;
  }

  nav .menu {
    top: 0;
    left: 0;
    margin: 0;
    z-index: 1;
    width: 100%;
    background: var(--color-secondary);
    padding: 3em 0 2em;
    position: fixed;
    transform: translateY(-100%);
    transition: transform 0.3s cubic-bezier(1, 0.5, 0, 1);
  }

  nav .menu.active {
    transform: translateY(0);
  }

  nav .menu li {
    list-style: none;
  }

  nav .menu li a {
    padding: 1em;
    color: var(--color-bg);
    display: block;
    background: none;
    line-height: 1em;
    font-size: 1rem;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease-in-out;
  }

  nav .menu li a span {
  }

  nav .menu li a:hover,
  nav .menu li a:focus,
  nav .menu li a:active {
    font-weight: bold;
  }

  /* toggle */
  .menu-toggle {
    top: 24px;
    z-index: 2;
    right: 12px;
    width: 22px;
    height: 4px; /* If you have *{box-sizing:border-box} applied, use 20px */
    padding: 8px 0;
    cursor: pointer;
    border-radius: 50%;
    position: absolute;
  }

  .menu-toggle span {
    height: 4px;
    display: block;
    overflow: hidden;
    text-indent: 100%;
    background: var(--color-text);
    border-radius: 2px;
    white-space: nowrap;
    transition: background 0.3s ease-in-out;
  }

  .menu-toggle::before,
  .menu-toggle::after {
    left: 0;
    content: "";
    width: 22px;
    height: 4px;
    background: var(--color-text);
    border-radius: 2px;
    position: absolute;
    transform-origin: center center;
    transition: width 0.2s ease-in-out, background 0.2s ease-in-out,
      transform 0.2s ease-in-out, top 0.2s ease-in-out, bottom 0.2s ease-in-out,
      left 0.2s ease-in-out, right 0.2s ease-in-out;
  }

  .menu-toggle::before {
    top: 0;
  }
  .menu-toggle::after {
    bottom: 0;
  }

  .menu-toggle.menu-open span {
    background: rgba(255, 255, 255, 0);
  }

  .menu-toggle.menu-open::before {
    top: 8px;
    transform: rotate(-45deg);
  }

  .menu-toggle.menu-open::after {
    bottom: 8px;
    transform: rotate(45deg);
  }

  .menu-toggle.menu-open::before,
  .menu-toggle.menu-open::after {
    width: 26px;
    background: var(--color-bg);
  }

  .menu-toggle.menu-open:hover span,
  .menu-toggle.menu-open:focus span,
  .menu-toggle.menu-open:active span {
    background: rgba(255, 255, 255, 0);
  }

  .menu-toggle.menu-open:hover::before,
  .menu-toggle.menu-open:focus::before,
  .menu-toggle.menu-open:active::before {
    top: 8px;
    left: -3px;
    transform: rotate(-45deg);
  }

  .menu-toggle.menu-open:hover::after,
  .menu-toggle.menu-open:focus::after,
  .menu-toggle.menu-open:active::after {
    left: 9px;
    bottom: 8px;
    transform: rotate(45deg);
  }

  .menu-toggle.menu-open:hover::before,
  .menu-toggle.menu-open:focus::before,
  .menu-toggle.menu-open:active::before,
  .menu-toggle.menu-open:hover::after,
  .menu-toggle.menu-open:focus::after,
  .menu-toggle.menu-open:active::after {
    width: 18px;
  }

  .menu-toggle:hover span,
  .menu-toggle:focus span,
  .menu-toggle:active span {
    background: rgba(255, 255, 255, 0);
  }

  .menu-toggle:hover::before,
  .menu-toggle:focus::before,
  .menu-toggle:active::before {
    top: 8px;
    left: -3px;
    transform: rotate(45deg);
  }

  .menu-toggle:hover::after,
  .menu-toggle:focus::after,
  .menu-toggle:active::after {
    left: 9px;
    bottom: 8px;
    transform: rotate(-45deg);
  }

  .menu-toggle:hover::before,
  .menu-toggle:focus::before,
  .menu-toggle:active::before,
  .menu-toggle:hover::after,
  .menu-toggle:focus::after,
  .menu-toggle:active::after {
    width: 18px;
  }

  /* Smooth push-down for page content when menu opens */
  main {
    transition: margin-top 0.3s cubic-bezier(1, 0.5, 0, 1);
  }
}
