:root{
  --ink:#263238;--blue:#156b8a;--blue-dark:#0e5069;--sun:#f4b942;--coral:#ed775f;
  --mint:#80c9b5;--cream:#fff8e8;--sand:#efd9a9;--paper:#fffdf8;--muted:#69747a;
  --card:#fff;--line:#eadfc8;--shadow:0 10px 28px rgba(52,61,67,.10)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f0e6;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.62}
a{color:inherit}img{display:block;max-width:100%;height:auto}.shell{width:min(100%,780px);margin:0 auto;background:var(--paper);min-height:100vh;box-shadow:0 0 34px rgba(75,58,30,.10)}
.sitebar{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eee3cf}.sitebar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}.brand{text-decoration:none;font-weight:900;letter-spacing:.01em;color:var(--blue-dark)}.brand::before{content:"☀️ ";}.menu{display:flex;gap:7px}.menu a{font-size:.88rem;font-weight:750;text-decoration:none;padding:8px 11px;border-radius:999px;background:#fff1cf;border:1px solid #f0dfb2}
.hero{position:relative;overflow:hidden;padding:30px 18px 18px;background:linear-gradient(145deg,#fff1c9 0%,#fff8e8 55%,#e9f7f3 100%)}.hero::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(244,185,66,.16);right:-55px;top:-60px}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#9a5b19}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,10vw,4.5rem);line-height:1;margin:.28rem 0 .7rem;color:var(--blue-dark)}.lead{font-size:1.06rem;color:#46545a;margin:0;max-width:62ch}.hero-stickers{display:flex;gap:10px;margin-top:18px;font-size:1.45rem}.hero-stickers span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(0,0,0,.07);transform:rotate(-3deg)}.hero-stickers span:nth-child(even){transform:rotate(4deg)}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-weight:800;font-size:.86rem;box-shadow:0 3px 8px rgba(0,0,0,.03)}
.content{padding:12px 18px 34px}.section{margin:30px 0}.section-heading{margin-bottom:13px}.section-kicker{display:inline-block;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#a65a32;margin-bottom:3px}.section h2{font-family:Georgia,"Times New Roman",serif;font-size:1.7rem;line-height:1.18;color:var(--blue-dark);margin:0 0 7px}.section p{margin:0 0 15px}.section-heading p{color:var(--muted);font-size:.96rem}.photo{border-radius:20px;overflow:hidden;margin:16px 0 20px;background:#eee;box-shadow:var(--shadow);border:4px solid #fff}.photo img{width:100%;max-height:520px;object-fit:cover}.caption{font-size:.78rem;color:#68727a;padding:8px 10px;background:#fff;border-top:1px solid #eee}
.callout{background:#fff2ce;border:1px solid #edd89d;border-radius:18px;padding:14px 15px;margin:20px 0;box-shadow:0 4px 14px rgba(100,73,20,.06)}.callout strong{color:var(--blue-dark)}
.map-wrap{background:#f2ead5;border:1px solid #dcc79b;border-radius:22px;padding:8px;overflow:hidden;box-shadow:var(--shadow)}.map-wrap img{border-radius:16px;width:100%}.map-interactive{position:relative}.map-distance{position:absolute;z-index:4;text-decoration:none;text-align:center;min-width:46px;padding:5px 7px;border-radius:12px;background:rgba(255,255,255,.94);border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.22);font-size:clamp(.55rem,2.2vw,.76rem);line-height:1.05;font-weight:900;color:var(--blue-dark);transform:translate(-50%,-50%);transition:transform .18s ease,box-shadow .18s ease}.map-distance small{font-size:.82em;font-weight:800;color:#8a5b2e}.map-distance:hover,.map-distance:focus-visible{transform:translate(-50%,-50%) scale(1.09);box-shadow:0 7px 18px rgba(0,0,0,.22);outline:3px solid var(--sun);outline-offset:2px}
.md-tunisi{left:56%;top:10.8%}.md-kairouan{left:52%;top:27%}.md-sousse{left:69%;top:24.6%}.md-monastir{left:79%;top:25.5%}.md-el-djem{left:76%;top:32.5%}.md-tamerza{left:20%;top:43.5%}.md-chebika{left:19%;top:49.7%}.md-matmata{left:54%;top:56%}.md-medenine{left:69%;top:59.5%}.md-tataouine{left:68%;top:65.6%}
.dist-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.dist{position:relative;display:block;text-decoration:none;background:#fff8e7;border:1px solid #e5cf9f;border-radius:16px;padding:12px 12px 11px;box-shadow:0 4px 10px rgba(92,65,17,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dist:hover,.dist:focus-visible{transform:translateY(-2px);box-shadow:0 9px 18px rgba(92,65,17,.11);border-color:#e7b94f;outline:none}.dist b{display:block;color:var(--blue-dark);font-size:.92rem}.dist span{display:block;font-size:.79rem;color:#6b6256;margin-top:2px}.dist em{display:inline-block;margin-top:7px;font-size:.74rem;font-style:normal;font-weight:900;color:#b65b39}
.tappe-grid{display:grid;grid-template-columns:1fr;gap:12px}.tappa-card{display:grid;grid-template-columns:100px 1fr;gap:13px;text-decoration:none;border:1px solid #eee2cc;border-radius:19px;overflow:hidden;background:#fff;box-shadow:0 5px 15px rgba(62,50,31,.06);transition:transform .18s ease,box-shadow .18s ease}.tappa-card:hover,.tappa-card:focus-visible{transform:translateY(-2px) rotate(-.25deg);box-shadow:0 11px 22px rgba(62,50,31,.12);outline:3px solid #f3c96c;outline-offset:2px}.tappa-card img{width:100px;height:100px;object-fit:cover}.tappa-card .txt{padding:12px 11px 9px 0;align-self:center}.tappa-card b{display:block;font-size:1.06rem;color:var(--blue-dark)}.tappa-card .txt>span{font-size:.82rem;color:#68727a}.num{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--coral);color:#fff!important;font-size:.75rem!important;margin-right:7px;box-shadow:0 2px 6px rgba(150,50,35,.2)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 34px}.pager a{text-decoration:none;border:1px solid #eadfc9;border-radius:16px;padding:12px;font-weight:800;background:#fff8e9;box-shadow:0 3px 10px rgba(0,0,0,.04)}.pager a:last-child{text-align:right}.footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 18px 28px;border-top:1px solid #eee1ca;color:#7b7166;font-size:.82rem;background:#fffaf0}.footer strong{color:var(--blue-dark)}
@media(max-width:420px){.map-distance{padding:4px 5px;min-width:41px;border-radius:10px}.dist-grid{grid-template-columns:1fr}.tappa-card{grid-template-columns:88px 1fr}.tappa-card img{width:88px;height:88px}.footer{align-items:flex-start;flex-direction:column;gap:2px}}
@media(min-width:600px){.hero,.content{padding-left:32px;padding-right:32px}.pager{padding-left:32px;padding-right:32px}.tappe-grid{grid-template-columns:1fr 1fr}.dist-grid{grid-template-columns:repeat(2,1fr)}}
.menu{overflow-x:auto;scrollbar-width:none}.menu::-webkit-scrollbar{display:none}.menu a{white-space:nowrap}
.food-hero{background:linear-gradient(145deg,#ffe7b8 0%,#fff6dc 55%,#f8eadb 100%)}.useful-hero{background:linear-gradient(145deg,#dff4ed 0%,#f4fbf7 58%,#fff0cf 100%)}
.quick-grid{display:grid;gap:12px}.quick-card{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;text-decoration:none;border-radius:20px;padding:15px;border:1px solid #eadfc8;box-shadow:var(--shadow)}.quick-card.food{background:#fff0d4}.quick-card.useful{background:#eaf7f3}.quick-card>span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#fff;font-size:1.6rem}.quick-card b{display:block;color:var(--blue-dark);font-size:1rem}.quick-card small{display:block;color:#6c716f;line-height:1.35;margin-top:2px}.quick-card em{font-style:normal;font-weight:900;color:#a75935;font-size:.8rem}
.food-grid{display:grid;grid-template-columns:1fr;gap:10px}.food-card{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px;background:#fffaf0;border:1px solid #ecdec3;border-radius:18px}.food-card>span{font-size:1.5rem}.food-card h3{margin:0;color:var(--blue-dark);font-size:1.02rem}.food-card p{margin:3px 0 0;font-size:.9rem;color:#59666b;line-height:1.5}
.place-card{background:#fff;border:1px solid #e9deca;border-radius:22px;padding:16px;margin:0 0 14px;box-shadow:0 7px 18px rgba(65,51,31,.07)}.place-top{display:flex;justify-content:space-between;gap:14px}.place-city{display:inline-block;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#a65a32}.place-card h3{margin:1px 0 9px;font-size:1.22rem;color:var(--blue-dark)}.place-pin{font-size:1.5rem}.place-lines{display:grid;gap:5px}.place-lines p,.contact-box p{display:grid;grid-template-columns:88px 1fr;gap:10px;margin:0;padding:7px 0;border-bottom:1px dashed #eadfc8;font-size:.88rem}.place-lines b,.contact-box b{color:#805832}.place-lines a,.contact-box a{color:var(--blue);font-weight:800}.place-note{margin:12px 0!important;padding:11px 12px;background:#fff5d9;border-radius:14px;font-size:.87rem}.map-btn,.big-call{display:block;text-align:center;text-decoration:none;border-radius:14px;padding:11px 14px;background:var(--blue-dark);color:#fff!important;font-weight:900}.map-btn{margin-top:11px}.big-call{margin:13px 0 8px}
.phone-grid{display:grid;gap:10px}.phone-card{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;text-decoration:none;padding:13px;background:#fff;border:1px solid #e8ddc9;border-radius:18px;box-shadow:0 5px 14px rgba(65,51,31,.06)}.phone-card.emergency{background:#fff4e8}.phone-icon{font-size:1.45rem}.phone-card b{display:block;color:var(--blue-dark);font-size:1.08rem}.phone-card small{display:block;color:#69747a;line-height:1.3}.phone-card em{font-style:normal;font-weight:900;font-size:.76rem;color:#a45434}.contact-box{background:#fff8e9;border:1px solid #e9d7ad;border-radius:20px;padding:14px}.contact-box.small{background:#eef8f5}.tiny-note{font-size:.78rem;color:#6f716f;margin:10px 0 0!important}.callout p{margin:5px 0 0!important}
@media(max-width:480px){.sitebar-inner{align-items:flex-start;flex-direction:column}.menu{width:100%;padding-bottom:2px}.place-lines p,.contact-box p{grid-template-columns:78px 1fr}.quick-card{grid-template-columns:48px 1fr}.quick-card em{grid-column:2}.quick-card>span{width:48px;height:48px}.phone-card{grid-template-columns:38px 1fr}.phone-card em{grid-column:2}}
@media(min-width:600px){.food-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr 1fr}.phone-grid.compact{grid-template-columns:1fr 1fr}}
/* v6: etichette mappa più leggibili e nuova tappa Hammamet */
.map-place,.map-name{position:absolute;z-index:5;text-decoration:none;transform:translate(-50%,-50%)}
.map-place{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ef7a54;color:#fff;font-size:.72rem;font-weight:900;border:2px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.24)}
.map-name{font-size:clamp(.48rem,1.8vw,.69rem);font-weight:950;color:#34424a;background:rgba(255,255,255,.88);padding:2px 4px;border-radius:5px;white-space:nowrap}
.mp-hammamet{left:73%;top:17.2%}.mn-hammamet{left:66%;top:18.6%}.md-hammamet{left:59%;top:16.4%}
.md-tunisi{left:48%;top:8.5%}.md-kairouan{left:45%;top:24%}.md-sousse{left:76%;top:21.8%}.md-monastir{left:85%;top:28.5%}.md-el-djem{left:84%;top:36%}.md-tamerza{left:27%;top:41%}.md-chebika{left:27%;top:52%}.md-matmata{left:47%;top:53%}.md-medenine{left:77%;top:57%}.md-tataouine{left:78%;top:67%}
@media(max-width:420px){.map-place{width:20px;height:20px;font-size:.62rem}.map-name{font-size:.48rem}.md-hammamet{left:58%;top:15.7%}}

/* v7: mappa pulita, distanza nei pulsanti delle tappe */
.map-distance,.map-place,.map-name{display:none!important}
.map-hammamet{position:absolute;left:72.2%;top:17.2%;z-index:6;display:flex;align-items:center;gap:4px;transform:translate(-50%,-50%);text-decoration:none;background:rgba(255,255,255,.94);border:2px solid #fff;border-radius:13px;padding:3px 6px 3px 3px;box-shadow:0 3px 9px rgba(0,0,0,.24)}
.map-hammamet-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ef7a54;color:#fff;font-size:.7rem;font-weight:950}
.map-hammamet-name{font-size:clamp(.48rem,1.8vw,.68rem);font-weight:950;color:#34424a;white-space:nowrap}
.map-hammamet:hover,.map-hammamet:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.tappa-distance{display:inline-block;margin-top:7px;padding:4px 8px;border-radius:999px;background:#fff3d4;color:#8a5b2e;font-size:.76rem;font-weight:900;line-height:1.2}
@media(max-width:420px){.map-hammamet{left:72%;top:17.3%;padding:2px 4px 2px 2px;gap:2px}.map-hammamet-num{width:20px;height:20px;font-size:.6rem}.map-hammamet-name{font-size:.46rem}.tappa-distance{font-size:.7rem}}

/* v8: Hammamet omogenea alle altre etichette della mappa */
.map-hammamet{
  left:63.5%;
  top:18.2%;
  display:block;
  width:0;
  height:0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.map-hammamet-num{
  position:absolute;
  left:0;
  top:0;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#c9473b;
  color:#fff;
  border:3px solid #fff;
  box-shadow:none;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
}
.map-hammamet-name{
  position:absolute;
  left:-3px;
  top:-24px;
  transform:translateX(-50%);
  color:#343b40;
  background:transparent;
  padding:0;
  font-size:clamp(.52rem,1.9vw,.72rem);
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  text-shadow:
    -2px -2px 0 #fff,
     2px -2px 0 #fff,
    -2px  2px 0 #fff,
     2px  2px 0 #fff,
     0   -2px 0 #fff,
     0    2px 0 #fff,
    -2px  0   0 #fff,
     2px  0   0 #fff;
}
.map-hammamet:hover,.map-hammamet:focus-visible{outline:none}
.map-hammamet:hover .map-hammamet-num,.map-hammamet:focus-visible .map-hammamet-num{outline:3px solid var(--sun);outline-offset:2px}
@media(max-width:420px){
  .map-hammamet{left:63.5%;top:18.2%}
  .map-hammamet-num{width:23px;height:23px;border-width:2px;font-size:.64rem}
  .map-hammamet-name{top:-20px;font-size:.5rem}
}
