/* NuvolaTech - reset, tipografia e stili core di WordPress */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

body{
  margin:0;
  font-family:var(--nt-font);
  font-size:var(--nt-body);
  line-height:var(--nt-body-lh);
  color:var(--nt-ink-3);
  background:var(--nt-surface);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  display:flex;
  flex-direction:column;
  min-height:100vh;
}

h1,h2,h3,h4,h5,h6{margin:0 0 .5em;color:var(--nt-ink);font-weight:700;line-height:1.2}
h1{font-size:var(--nt-title-main);line-height:var(--nt-title-main-lh)}
h2{font-size:var(--nt-title-section);line-height:var(--nt-title-section-lh)}
h3{font-size:1.25rem}
h4{font-size:1.1rem}
h5,h6{font-size:1rem}
p{margin:0 0 1.25em}
p:last-child{margin-bottom:0}

a{color:var(--nt-link);text-decoration:none;transition:color var(--nt-transition)}
a:hover,a:focus{color:var(--nt-link-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--nt-link);outline-offset:3px;border-radius:3px}

img,svg,video,iframe{max-width:100%;height:auto;display:block}
figure{margin:0}
ul,ol{padding-left:1.35em}
blockquote{margin:0 0 1.5em;padding:.25em 0 .25em 1.25em;border-left:4px solid var(--nt-brand);
  font-size:1.0625em;color:var(--nt-ink-2)}
hr{border:0;border-top:1px solid var(--nt-border);margin:2.5em 0}
table{border-collapse:collapse;width:100%}
th,td{border:1px solid var(--nt-border);padding:.6em .8em;text-align:left}
th{background:var(--nt-surface-3);color:var(--nt-ink);font-weight:600}

/* ---- form ---- */
input[type=text],input[type=email],input[type=url],input[type=search],input[type=password],
input[type=number],textarea,select{
  width:100%;padding:.7em .9em;font:inherit;font-size:.9375rem;color:var(--nt-ink-3);
  background:var(--nt-surface);border:1px solid var(--nt-border);border-radius:var(--nt-radius-sm);
  transition:border-color var(--nt-transition)}
input:focus,textarea:focus,select:focus{border-color:var(--nt-link);outline:none}

button,input[type=submit],.nt-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.7em 1.35em;font:inherit;font-size:.875rem;font-weight:600;line-height:1.2;
  color:#fff;background:var(--nt-brand);border:0;border-radius:var(--nt-radius-sm);
  cursor:pointer;transition:background var(--nt-transition)}
button:hover,input[type=submit]:hover,.nt-btn:hover{background:var(--nt-brand-dark);color:#fff}
.nt-btn--ghost{color:var(--nt-ink);background:transparent;border:1px solid var(--nt-border)}
.nt-btn--ghost:hover{color:var(--nt-ink);background:var(--nt-surface-3)}

/* ---- accessibilita ---- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;
  margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto!important;clip-path:none;display:block;height:auto;width:auto;
  left:10px;top:10px;padding:12px 20px;font-size:.875rem;font-weight:600;color:#fff;
  background:var(--nt-ink);border-radius:var(--nt-radius-sm);z-index:100000;text-decoration:none}

/* ---- allineamenti e classi core di WordPress ---- */
.alignleft{float:left;margin:.4em 1.5em 1em 0}
.alignright{float:right;margin:.4em 0 1em 1.5em}
.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption{margin-bottom:1.5em}
.wp-caption-text,figcaption{margin-top:.6em;font-size:.8125rem;line-height:1.5;color:var(--nt-grey-4)}
.gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.gallery-item{margin:0}
