
:root{--violet:#805693;--violet-soft:#F7F0FA;--violet-light:#8B64A0;--sand:#E6D9CB;--gold:#EAC76F;--border:#E7DCEF;--text:#554964}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#FBF7FC,#FFFDF9);font-family:Arial,Helvetica,sans-serif;color:var(--text)}a{text-decoration:none;color:inherit}.site{max-width:980px;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 0 1px #eee}.topbar{position:sticky;top:0;z-index:1000;background:var(--violet);color:white;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 18px rgba(38,22,50,.16)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{height:44px;width:auto;display:block}.brand .t1{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:700;line-height:1.05}.brand .t2{font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.nav{display:flex;gap:10px;align-items:center;font-size:13px}.nav a{padding:9px 11px;border-radius:999px;background:rgba(255,255,255,.10)}.hamb{display:none;color:var(--gold);font-size:28px}.wrap{padding:22px 16px 28px}.hero{background:var(--violet);border-radius:28px;color:white;padding:22px 18px;display:grid;grid-template-columns:34% 1fr;gap:18px;align-items:center;box-shadow:0 18px 32px rgba(128,86,147,.16)}.hero-left{padding-right:16px;border-right:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center}.hero-left img{max-width:160px;width:100%}.hero h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.02}.hero p{font-size:17px;line-height:1.55;margin:14px 0 0;opacity:.96}.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:999px;font-weight:700}.btn.primary{background:white;color:var(--violet)}.btn.violet{background:var(--violet);color:white}.btn.secondary{border:2px solid rgba(255,255,255,.55);color:white}.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.chip{border:1px solid var(--border);border-radius:18px;background:white;padding:13px 10px;text-align:center;font-size:13px;line-height:1.25;display:flex;align-items:center;justify-content:center;min-height:64px}.chip strong{color:var(--violet)}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.card{border:1px solid var(--border);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 8px 18px rgba(128,86,147,.06)}.cover{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}.card-body{padding:15px 16px 17px}.kicker{color:var(--violet-light);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}h2{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;color:var(--violet);font-size:28px;line-height:1.08}h3{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;color:var(--violet);font-size:22px;line-height:1.1}p,li{font-size:15px;line-height:1.6;color:#5E536C}.section{margin-top:26px}.section-head{margin:0 0 14px}.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.experience{border:1px solid var(--border);border-radius:22px;overflow:hidden;background:white;box-shadow:0 10px 24px rgba(128,86,147,.07)}.experience img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.experience .txt{padding:15px 16px 17px}.info-box{background:var(--violet-soft);border:1px solid var(--border);border-radius:22px;padding:18px;margin-top:16px}.walker{border:1px solid var(--border);border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(128,86,147,.08)}.walker-grid{display:grid;grid-template-columns:1fr 1fr}.walk-left,.walk-right{padding:18px}.walk-title{background:var(--sand);padding:18px 14px;text-align:center;font-family:Georgia,'Times New Roman',serif;color:#171516;margin-bottom:14px}.walk-title .l1{font-size:25px;line-height:1.02;text-transform:uppercase;font-weight:700}.walk-title .l2{font-size:18px;line-height:1.05;text-transform:uppercase;font-weight:700}.walk-image{margin-top:14px}.walk-image img{width:100%;display:block;border-radius:18px;aspect-ratio:4/3;object-fit:cover}.walk-caption{background:var(--sand);padding:14px 10px;text-align:center;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:14px;line-height:1.25;text-transform:uppercase;border-radius:0 0 18px 18px;color:#5C4A70}.footer{margin-top:26px;background:var(--violet);color:white;padding:22px 16px}.footer p,.footer a{color:white}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.small{font-size:12px;opacity:.9}@media(max-width:700px){.site{max-width:430px}.nav{display:none}.hamb{display:block}.wrap{padding:16px}.hero{grid-template-columns:35% 1fr;padding:18px 14px;gap:14px}.hero-left{padding-right:14px}.hero h1{font-size:25px}.hero p{font-size:15px}.ctas{display:grid}.grid,.experience-grid,.walker-grid,.footer-grid{grid-template-columns:1fr}.chips{grid-template-columns:repeat(3,1fr);gap:10px}.chip{font-size:12px}h2{font-size:24px}}


/* Menu apribile */
.topbar { position: sticky; }
.hamb {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: Arial, Helvetica, sans-serif;
}
.mobile-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 12px;
  left: 12px;
  background: #fff;
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 20px;
  box-shadow: 0 16px 34px rgba(38,22,50,.18);
  padding: 10px;
  z-index: 2000;
}
.mobile-menu.open {
  display: grid;
  gap: 6px;
}
.mobile-menu a {
  display: block;
  padding: 13px 14px;
  border-radius: 14px;
  color: var(--violet);
  font-weight: 700;
  background: #fff;
}
.mobile-menu a:hover {
  background: var(--violet-soft);
}
.card-link,
.card-link-section {
  cursor: pointer;
}
.card-link:hover,
.card-link-section:hover .card,
.card-link-section:hover .experience,
.card-link-section:hover .walker {
  transform: translateY(-1px);
}
.card-link,
.card-link-section .card,
.card-link-section .experience,
.card-link-section .walker {
  transition: transform .16s ease, box-shadow .16s ease;
}
.card-link::after {
  content: "Apri pagina dedicata ›";
  display: block;
  margin: 0 16px 16px;
  color: var(--violet);
  font-weight: 700;
  font-size: 14px;
}
.card-link-section .section-head::after {
  content: "Apri pagina dedicata ›";
  display: inline-block;
  margin-top: 8px;
  color: var(--violet);
  font-weight: 700;
}
@media (min-width:701px){
  .hamb { display: block; }
  .mobile-menu {
    left: auto;
    width: 310px;
  }
}


/* Modifiche homepage richieste */
.hero p {
  color: #ffffff !important;
}

.chip {
  color: var(--violet) !important;
  font-weight: 700;
}

.chip strong {
  color: var(--violet) !important;
}

@media(max-width:700px){
  .chip {
    font-size: 11.5px;
    line-height: 1.25;
    padding: 12px 7px;
  }
}


/* Area personale */
.private-layout {
  max-width: 760px;
  margin: 0 auto;
}

.login-box,
.private-box {
  border: 1px solid var(--border);
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(128,86,147,.08);
  padding: 20px;
  margin-top: 18px;
}

.login-box label {
  display: block;
  font-weight: 700;
  color: var(--violet);
  margin-bottom: 8px;
}

.login-box input {
  width: 100%;
  border: 2px solid rgba(128,86,147,.24);
  border-radius: 16px;
  padding: 15px 14px;
  font-size: 16px;
  color: var(--text);
  outline: none;
}

.login-box input:focus {
  border-color: var(--violet);
}

.private-grid {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.private-link {
  display: block;
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 17px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(128,86,147,.06);
}

.private-link h2 {
  margin-bottom: 8px;
}

.private-note {
  background: var(--violet-soft);
  border: 1px dashed var(--border);
  border-radius: 18px;
  padding: 14px;
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.5;
}

.error-message {
  display: none;
  color: #9b2c2c;
  font-weight: 700;
  margin-top: 12px;
}

@media (min-width: 800px) {
  .private-grid {
    grid-template-columns: 1fr 1fr;
  }
}


/* Modifiche test richieste */
.nav {
  display: none !important;
}

.topbar {
  justify-content: space-between;
}

.brand-image-link {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  max-width: min(72vw, 560px);
}

.brand-image {
  height: 62px !important;
  width: auto !important;
  max-width: 100%;
  object-fit: contain;
  display: block;
}

.hamb,
.menu-toggle {
  display: block !important;
  margin-left: auto;
}

.chips {
  display: none !important;
}

/* Logo più grande nel riquadro viola principale */
.hero {
  grid-template-columns: 42% 1fr;
}

.hero-left img {
  max-width: 260px !important;
  width: 100%;
}

@media (max-width:700px) {
  .brand-image {
    height: 52px !important;
  }

  .brand-image-link {
    max-width: 72vw;
  }

  .hero {
    grid-template-columns: 42% 1fr;
  }

  .hero-left img {
    max-width: 190px !important;
  }

  .hero h1 {
    font-size: 23px;
  }
}


/* Sostituzione immagine testata alta sinistra */
.brand-image {
  height: 58px !important;
  width: auto !important;
  max-width: min(72vw, 360px) !important;
  object-fit: contain !important;
  display: block !important;
}

@media (max-width:700px) {
  .brand-image {
    height: 48px !important;
    max-width: 70vw !important;
  }
}
