/* se3: impostazioni modificabili senza cambiare personalizza.css. */
:root {
  --se3-margine-desktop: 50px;
  --se3-margine-mobile: 15px;
  --se3-spazio-prodotti: 12px;
}
main {
  max-width: none;
  padding-left: var(--se3-margine-desktop);
  padding-right: var(--se3-margine-desktop);
}
.page-jumps {
  position: fixed;
  right: 12px;
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 20;
  display: flex;
  flex-direction: row;
  gap: 6px;
}
.page-jumps a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface, white);
  color: var(--ink, #17201f);
  font-size: .85rem;
  box-shadow: 0 2px 8px #0002;
}
.page-jumps a:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.site-footer { padding-bottom: 90px; }
#product-search { scroll-margin-top: 150px; }
/* La virgola significa: schermo piccolo OPPURE finestra verticale. */
@media (max-width: 820px), (orientation: portrait) {
  main {
    padding-left: var(--se3-margine-mobile);
    padding-right: var(--se3-margine-mobile);
  }
  .site-header {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 10px 15px;
  }
  .site-header .brand { font-size: 1rem; gap: 8px; }
  .site-header .brand img { width: 32px; height: 32px; }
  .site-header nav {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 2px 12px;
    line-height: 1.2;
  }
  .site-header nav > a,
  .site-header .nav-logout button {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 6px 0;
    font-size: .85rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
    max-width: 100%;
  }
  .site-header .nav-logout { max-width: 100%; }
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--se3-spazio-prodotti);
  }
  .product-card, .product-info { min-width: 0; overflow-wrap: anywhere; }
  .product-info { padding: 10px; }
  .product-info h2 { font-size: 1rem; }
  .product-info .product-description-text { font-size: .9rem; }
  .product-actions { flex-wrap: wrap; gap: 8px; }
  .product-actions > *, .product-actions button { max-width: 100%; }
  .product-actions a, .product-actions button { white-space: normal; overflow-wrap: anywhere; font-size: .85rem; }
  #product-search { scroll-margin-top: 12px; }
}
