/*
Theme Name: Next Salon Accessibile
Theme URI: https://nextacconciature.local
Author: Vincenzo Rizzo & ChatGPT
Author URI: https://nextacconciature.it
Description: Tema WordPress premium-ready per Next One con homepage wow più pulita, recupero password frontend e accesso smart al gestionale.
Version: 1.0.4
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: next-salon-accessibile
Tags: accessibility-ready, custom-logo, custom-menu, responsive-layout, one-column
*/

:root {
  --next-bg: #f6f7fb;
  --next-surface: #ffffff;
  --next-ink: #182033;
  --next-muted: #657084;
  --next-border: #dfe5ef;
  --next-primary: #14213d;
  --next-primary-2: #0f172a;
  --next-accent: #10b981;
  --next-accent-dark: #047857;
  --next-info: #2563eb;
  --next-danger: #dc2626;
  --next-warning: #f59e0b;
  --next-radius: 18px;
  --next-radius-sm: 12px;
  --next-shadow: 0 18px 45px rgba(15, 23, 42, .08);
  --next-focus: 0 0 0 4px rgba(16, 185, 129, .22);
  --next-max: 1180px;
  --next-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

* { box-sizing: border-box; }

html {
  min-height: 100%;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--next-bg);
  color: var(--next-ink);
  font-family: var(--next-font);
  font-size: 16px;
  line-height: 1.55;
}

body.next-manager-template {
  background: #eef2f8;
}

img, svg, video, canvas {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--next-primary);
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

a:hover { color: var(--next-accent-dark); }

button,
input,
select,
textarea {
  font: inherit;
}

button,
.next-button,
.wp-block-button__link,
input[type="submit"] {
  min-height: 44px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: none;
  box-shadow: var(--next-focus);
}

.screen-reader-text,
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 100000;
  padding: 10px 14px;
  background: var(--next-primary);
  color: #fff;
  border-radius: 10px;
  transform: translateY(-130%);
}

.skip-link:focus {
  transform: translateY(0);
}

.next-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--next-border);
}

.admin-bar .next-site-header { top: 32px; }

.next-header-inner {
  max-width: var(--next-max);
  margin: 0 auto;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.next-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  text-decoration: none;
  color: var(--next-ink);
}

.next-brand-logo img {
  display: block;
  width: auto;
  max-height: 46px;
}

.next-brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--next-primary), var(--next-accent));
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 800;
  letter-spacing: -.05em;
}

.next-brand-title {
  display: block;
  font-size: clamp(1rem, 2vw, 1.18rem);
  font-weight: 800;
  line-height: 1.15;
}

.next-brand-subtitle {
  display: block;
  color: var(--next-muted);
  font-size: .78rem;
  margin-top: 1px;
}

.next-nav-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.next-menu-toggle {
  display: none;
  border: 1px solid var(--next-border);
  background: #fff;
  color: var(--next-primary);
  border-radius: 12px;
  padding: 9px 12px;
  font-weight: 700;
  cursor: pointer;
}

.next-menu,
.next-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.next-menu {
  display: flex;
  align-items: center;
  gap: 6px;
}

.next-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 999px;
  color: var(--next-muted);
  text-decoration: none;
  font-size: .92rem;
  font-weight: 650;
}

.next-menu a:hover,
.next-menu .current-menu-item > a,
.next-menu .current_page_item > a {
  background: #eefdf7;
  color: var(--next-accent-dark);
}

.next-main {
  max-width: var(--next-max);
  margin: 0 auto;
  padding: 28px 18px 48px;
}

.next-manager-shell {
  max-width: 100%;
  padding: 14px;
}

.next-card,
.next-content-card,
.next-article {
  background: var(--next-surface);
  border: 1px solid var(--next-border);
  border-radius: var(--next-radius);
  box-shadow: var(--next-shadow);
}

.next-content-card,
.next-article {
  padding: clamp(18px, 3vw, 34px);
}

.next-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 5vw, 58px);
  background:
    radial-gradient(circle at top right, rgba(16, 185, 129, .18), transparent 36%),
    radial-gradient(circle at bottom left, rgba(37, 99, 235, .10), transparent 35%),
    #fff;
  border: 1px solid var(--next-border);
  border-radius: 26px;
  box-shadow: var(--next-shadow);
}

.next-hero h1,
.next-entry-title {
  margin: 0 0 12px;
  line-height: 1.08;
  font-size: clamp(2rem, 5vw, 4rem);
  letter-spacing: -.055em;
}

.next-hero p,
.next-entry-summary {
  max-width: 720px;
  margin: 0;
  color: var(--next-muted);
  font-size: clamp(1rem, 2.2vw, 1.18rem);
}

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

.next-button,
.wp-block-button__link,
input[type="submit"],
button.next-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 16px;
  border: 0;
  border-radius: 14px;
  background: var(--next-primary);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .14);
}

.next-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
button.next-button:hover {
  background: var(--next-primary-2);
  color: #fff !important;
}

.next-button.is-green { background: var(--next-accent-dark); }
.next-button.is-blue { background: var(--next-info); }
.next-button.is-red { background: var(--next-danger); }
.next-button.is-light {
  background: #fff;
  color: var(--next-primary) !important;
  border: 1px solid var(--next-border);
  box-shadow: none;
}

.next-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.next-feature {
  padding: 18px;
}

.next-feature strong {
  display: block;
  margin-bottom: 5px;
  font-size: 1rem;
}

.next-feature span {
  color: var(--next-muted);
  font-size: .92rem;
}

.next-entry-content > *:first-child { margin-top: 0; }
.next-entry-content > *:last-child { margin-bottom: 0; }

.next-site-footer {
  border-top: 1px solid var(--next-border);
  background: #fff;
  color: var(--next-muted);
}

.next-footer-inner {
  max-width: var(--next-max);
  margin: 0 auto;
  padding: 20px 18px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  font-size: .9rem;
}

/* Compatibilità ampia con il plugin Next Manager */
.next-manager-root,
.next-manager-app,
.nam-root,
.nam-app,
.next-acconciature-manager,
#next-manager-app {
  width: 100%;
  max-width: 100%;
}

.next-manager-template .next-site-header,
.next-manager-template .next-site-footer {
  display: none;
}

.next-manager-template .next-main {
  max-width: none;
  width: 100%;
  min-height: 100vh;
  padding: 0;
}

.next-manager-template .next-manager-fullscreen {
  min-height: 100vh;
  background: var(--next-bg);
}

.next-plugin-fallback {
  max-width: 820px;
  margin: 40px auto;
  padding: 24px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 18px;
  color: #7c2d12;
}

/* Popup/modal: colori e posizione leggibile anche se il plugin eredita stile dal tema */
.next-manager-root .modal,
.next-manager-root .popup,
.next-manager-root .bottom-sheet,
.next-manager-root [role="dialog"],
.nam-root .modal,
.nam-root .popup,
.nam-root .bottom-sheet,
.nam-root [role="dialog"],
.next-acconciature-manager .modal,
.next-acconciature-manager .popup,
.next-acconciature-manager .bottom-sheet,
.next-acconciature-manager [role="dialog"] {
  align-items: center !important;
  justify-content: center !important;
}

.next-manager-root .sheet-content,
.next-manager-root .modal-content,
.next-manager-root .popup-content,
.nam-root .sheet-content,
.nam-root .modal-content,
.nam-root .popup-content,
.next-acconciature-manager .sheet-content,
.next-acconciature-manager .modal-content,
.next-acconciature-manager .popup-content {
  border-radius: 22px !important;
  max-height: min(88vh, 820px) !important;
  overflow: auto !important;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .22) !important;
}

.next-manager-root button,
.next-manager-root .btn,
.next-manager-root .btn-submit,
.next-manager-root .btn-inline-add,
.next-manager-root input[type="submit"],
.nam-root button,
.nam-root .btn,
.nam-root .btn-submit,
.nam-root .btn-inline-add,
.nam-root input[type="submit"],
.next-acconciature-manager button,
.next-acconciature-manager .btn,
.next-acconciature-manager .btn-submit,
.next-acconciature-manager .btn-inline-add,
.next-acconciature-manager input[type="submit"] {
  border: 0 !important;
  background: var(--next-primary) !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.next-manager-root .btn-inline-add,
.nam-root .btn-inline-add,
.next-acconciature-manager .btn-inline-add {
  background: var(--next-accent-dark) !important;
}

.next-manager-root button[onclick*="close"],
.next-manager-root .close,
.next-manager-root .btn-close,
.nam-root button[onclick*="close"],
.nam-root .close,
.nam-root .btn-close,
.next-acconciature-manager button[onclick*="close"],
.next-acconciature-manager .close,
.next-acconciature-manager .btn-close {
  background: var(--next-danger) !important;
  color: #fff !important;
}

.next-manager-root input,
.next-manager-root select,
.next-manager-root textarea,
.nam-root input,
.nam-root select,
.nam-root textarea,
.next-acconciature-manager input,
.next-acconciature-manager select,
.next-acconciature-manager textarea {
  border: 1px solid var(--next-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--next-ink) !important;
}

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

  .next-menu-toggle { display: inline-flex; }

  .next-nav {
    position: fixed;
    inset: 72px 12px auto 12px;
    z-index: 9999;
    display: none;
    background: #fff;
    border: 1px solid var(--next-border);
    border-radius: 18px;
    box-shadow: var(--next-shadow);
    padding: 10px;
  }

  .next-nav.is-open { display: block; }

  .next-menu {
    display: grid;
    gap: 4px;
  }

  .next-menu a {
    border-radius: 12px;
    width: 100%;
  }
}

@media (max-width: 782px) {
  .admin-bar .next-site-header { top: 46px; }
}

@media (max-width: 640px) {
  .next-header-inner { padding: 10px 12px; }
  .next-brand-subtitle { display: none; }
  .next-main { padding: 18px 12px 36px; }
  .next-hero { border-radius: 20px; }
  .next-actions { flex-direction: column; }
  .next-actions .next-button { width: 100%; }
  .next-footer-inner { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}


/* ===== V1.0.3 wow homepage and recovery ===== */
.next-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#eefdf7;color:#047857;font-size:.86rem;font-weight:800;letter-spacing:.01em;margin-bottom:16px}
.next-wow-hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:26px;padding:clamp(24px,4vw,48px);overflow:hidden;background:linear-gradient(135deg,#ffffff 0%,#f8fffc 50%,#eefcf7 100%)}
.next-wow-hero::before{content:"";position:absolute;inset:auto -80px -120px auto;width:320px;height:320px;border-radius:999px;background:radial-gradient(circle,#10b981 0%,rgba(16,185,129,0) 72%);opacity:.18;pointer-events:none}
.next-wow-copy{position:relative;z-index:2}
.next-wow-copy h1{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.02;margin:0 0 14px;letter-spacing:-.04em;max-width:12ch}
.next-wow-lead{font-size:clamp(1rem,1.7vw,1.28rem);color:#475569;max-width:52ch;margin:0 0 22px}
.next-actions{display:flex;gap:12px;flex-wrap:wrap}
.next-button.is-dark{background:#14213d;color:#fff;border-color:#14213d}
.next-mini-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.next-mini-badges span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--next-border);font-size:.88rem;font-weight:700;color:#334155}
.next-wow-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center}
.next-visual-glow{position:absolute;inset:20px 30px auto auto;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,#6366f1 0%,rgba(99,102,241,0) 70%);opacity:.18}
.screenshot-card{padding:14px;max-width:620px;transform:rotate(-2deg);box-shadow:0 24px 50px rgba(15,23,42,.14)}
.screenshot-card img{display:block;border-radius:18px}
.next-floating-stat{position:absolute;background:#fff;border:1px solid var(--next-border);border-radius:18px;padding:14px 16px;box-shadow:var(--next-shadow);display:grid;gap:4px;min-width:180px}
.next-floating-stat strong{font-size:1rem}
.next-floating-stat span{color:#64748b;font-size:.9rem}
.stat-one{left:0;top:30px}
.stat-two{right:0;top:58px}
.stat-three{left:26px;bottom:18px}
.next-wow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.next-feature-2{padding:24px}.next-feature-2 h3{margin:0 0 8px;font-size:1.12rem}.next-feature-2 p{margin:0;color:#475569}
.next-showcase{display:grid;grid-template-columns:1fr .9fr;gap:18px;margin-top:22px}
.next-showcase-copy,.next-showcase-side{padding:26px}.next-showcase-copy h2{margin:0 0 14px;font-size:clamp(1.6rem,3vw,2.3rem)}
.next-icon-list{margin:0;padding-left:20px;display:grid;gap:10px}.next-icon-list li{color:#334155}
.next-device-preview img{display:block;width:100%;border-radius:18px;border:1px solid var(--next-border);background:#f8fafc}
.next-device-text h3{margin:16px 0 8px}.next-device-text p{margin:0;color:#475569}
.next-recovery-hero{display:grid;place-items:center;min-height:62vh}.next-recovery-card{max-width:760px;padding:32px}.next-recovery-card h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3rem)}
.next-recovery-form{display:grid;gap:12px;margin-top:16px}.next-recovery-form label{font-weight:700}.next-recovery-form input{width:100%;min-height:48px;border:1px solid var(--next-border);border-radius:14px;padding:12px 14px;background:#fff}
.next-recovery-message{margin:12px 0;padding:12px 14px;border-radius:14px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.next-recovery-message.is-success{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
@media (max-width: 980px){.next-wow-hero,.next-showcase{grid-template-columns:1fr}.next-wow-copy h1{max-width:none}.next-wow-visual{min-height:auto;padding-top:12px}.next-floating-stat{position:static;margin-top:12px}.next-wow-grid{grid-template-columns:1fr}}
@media (max-width: 640px){.next-main{padding:18px 14px 34px}.next-wow-hero{padding:22px}.next-wow-copy h1{font-size:2.15rem}.next-wow-lead{font-size:1rem}.next-actions{flex-direction:column}.next-button,.wp-block-button__link,input[type="submit"]{width:100%;justify-content:center}.next-mini-badges span{width:100%;justify-content:center;text-align:center}.next-recovery-card{padding:24px 18px}}
/* ===== V1.0.4 clean homepage ===== */
.next-wow-hero{
  margin-bottom:22px;
}
.next-wow-grid{
  display:none!important;
}
