
:root{--svc-green:#075239;--svc-green-dark:#052b20;--svc-maroon:#74111e;--svc-gold:#d9a936;--svc-ink:#14261f;--svc-cream:#fbfaf7}
.svc-page{background:#fff;color:var(--svc-ink)}
.svc-hero{position:relative;overflow:hidden;min-height:255px;padding:38px max(22px,calc((100vw - 1370px)/2));display:grid;grid-template-columns:1.15fr .85fr;align-items:center;background:linear-gradient(105deg,#6c0d18 0%,#4b0b13 30%,#13271d 58%,#06442f 100%);color:#fff;border-bottom:1px solid rgba(218,170,54,.45)}
.svc-hero:after{content:"";position:absolute;right:-90px;top:-130px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.05),rgba(0,0,0,.3));opacity:.45}
.svc-hero-copy,.svc-hero-brand{position:relative;z-index:2}.svc-hero h1{margin:0 0 10px;font-family:Georgia,serif;font-size:clamp(2.4rem,4vw,4.5rem);line-height:1}.svc-hero p{margin:0;max-width:680px;line-height:1.55;color:rgba(255,255,255,.91)}
.svc-benefits{display:flex;gap:32px;flex-wrap:wrap;margin-top:26px}.svc-benefit{display:flex;align-items:center;gap:10px;font-size:.78rem}.svc-benefit i{width:40px;height:40px;border:1px solid rgba(218,170,54,.55);border-radius:11px;display:grid;place-items:center;color:var(--svc-gold);font-style:normal;font-size:1.1rem}.svc-benefit strong{display:block}.svc-benefit small{display:block;color:rgba(255,255,255,.73);margin-top:2px}
.svc-hero-brand{display:flex;align-items:center;justify-content:center;gap:28px}.svc-hero-brand img{width:min(190px,32vw);height:min(190px,32vw);object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.35))}.svc-hero-brand span{font:italic 2rem Georgia,serif;color:var(--svc-gold)}.svc-hero-brand span b{display:block;color:#fff;font-weight:400;margin-left:26px}
.svc-shell{max-width:1370px;margin:0 auto;padding:22px 22px 55px}.svc-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.svc-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border:1px solid #e6e1d9;border-radius:999px;background:#fff;color:#17573f;text-decoration:none!important;font-weight:850;font-size:.78rem}.svc-tab.is-active,.svc-tab:hover{background:linear-gradient(135deg,#8b1624,#650d18);border-color:#73111d;color:#fff}
.svc-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.svc-title-row h2{margin:0;font:700 1.5rem Georgia,serif;color:#18553d}.svc-title-row h2 span{color:var(--svc-gold)}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.svc-card{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);gap:15px;align-items:center;min-height:158px;padding:13px;border:1px solid #e7e1d9;border-radius:13px;background:#fff;box-shadow:0 6px 20px rgba(70,45,25,.04)}.svc-logo{width:118px;height:118px;border:1px solid #eee6dc;border-radius:50%;display:grid;place-items:center;background:#fdfcf9;overflow:hidden}.svc-logo img{width:92px;height:92px;object-fit:contain}.svc-logo span{font-size:2.2rem;color:#174f39}.svc-card-main{min-width:0}.svc-cat{display:inline-flex;padding:4px 9px;border-radius:6px;background:#eaf3e7;color:#236044;font-size:.62rem;font-weight:800}.svc-discount{position:absolute;right:13px;top:13px;padding:5px 9px;border-radius:7px;background:#760f1a;color:#fff;font-size:.65rem;font-weight:900}.svc-card h3{margin:7px 0 5px;font:700 1rem Georgia,serif;color:#1d2a25}.svc-card p{margin:0;min-height:38px;color:#46534d;font-size:.69rem;line-height:1.4}.svc-meta{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:9px}.svc-lock{font-size:.61rem;color:#225c43}.svc-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.svc-code{padding:7px 9px;border:1px dashed #caa59d;border-radius:6px;color:#74111e;font-size:.61rem;font-weight:900;background:#fff}.svc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border-radius:7px;background:#76111c;color:#fff!important;text-decoration:none!important;font-size:.62rem;font-weight:900;border:0;cursor:pointer}.svc-btn.green{background:#07543b}.svc-btn.ghost{background:#fff;color:#74111e!important;border:1px solid #cbaea8}
.svc-info-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border:1px solid #e8e1d8;border-radius:13px;background:#fffdf9;overflow:hidden}.svc-info{display:flex;align-items:center;gap:14px;padding:17px 25px;border-right:1px solid #e8e1d8}.svc-info:last-child{border-right:0}.svc-info i{font-style:normal;font-size:1.8rem;color:#156044}.svc-info strong{display:block;font-size:.72rem}.svc-info small{display:block;color:#4e5b55;font-size:.67rem;margin-top:3px}
.svc-territory-banner{margin-top:10px;min-height:120px;padding:20px 28px;border-radius:14px;background:linear-gradient(110deg,#06472f,#0b5d3d 45%,#093a2a);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.svc-territory-banner h3{margin:0 0 5px;color:#e7b94c;font:italic 1.35rem Georgia,serif}.svc-territory-banner p{margin:0;font-size:.7rem;line-height:1.45}.svc-territory-banner a{border:1px solid rgba(255,255,255,.65);border-radius:7px;padding:10px 14px;color:#fff!important;text-decoration:none!important;font-size:.65rem;font-weight:900}
.svc-choice{min-height:calc(100vh - 180px);display:grid;place-items:center;padding:42px 22px;background:radial-gradient(circle at 25% 30%,rgba(113,17,29,.12),transparent 31%),radial-gradient(circle at 80% 20%,rgba(7,82,57,.13),transparent 35%),#fbfaf7}.svc-choice-box{max-width:1150px;width:100%}.svc-choice-title{text-align:center;margin-bottom:24px}.svc-choice-title h1{margin:0;font:700 clamp(2.2rem,5vw,4.4rem) Georgia,serif;color:#15382b}.svc-choice-title p{color:#607067}.svc-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.svc-choice-card{min-height:330px;padding:34px;border-radius:22px;color:#fff;text-decoration:none!important;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.svc-choice-card.online{background:linear-gradient(140deg,#73111e,#421018 55%,#073d2b)}.svc-choice-card.local{background:linear-gradient(140deg,#06452f,#07281d 55%,#67111d)}.svc-choice-card:before{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-50px;top:-60px}.svc-choice-card small{color:#e8bd51;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.svc-choice-card h2{margin:7px 0 8px;font:700 2.1rem Georgia,serif}.svc-choice-card p{max-width:470px;color:rgba(255,255,255,.8);line-height:1.55}.svc-choice-card span{margin-top:16px;font-weight:900}
.svc-detail-hero{min-height:330px;display:grid;grid-template-columns:1fr 320px 280px;align-items:center;gap:28px;padding:34px max(22px,calc((100vw - 1370px)/2));background:linear-gradient(110deg,#67101b,#352016 42%,#075038);color:#fff}.svc-detail-copy small{color:#e0b34a;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.svc-detail-copy h1{margin:8px 0;font:700 clamp(2.4rem,5vw,4.7rem) Georgia,serif}.svc-detail-copy p{max-width:560px;color:rgba(255,255,255,.85)}.svc-detail-logo{width:260px;height:260px;border-radius:50%;display:grid;place-items:center;background:#fff;border:4px solid #cfa846;overflow:hidden}.svc-detail-logo img{width:210px;height:210px;object-fit:contain}.svc-poster{height:270px;border:3px solid #c99d38;border-radius:10px;background:#0b442f;overflow:hidden;display:grid;place-items:center}.svc-poster img{width:100%;height:100%;object-fit:cover}.svc-poster span{padding:25px;text-align:center;font:italic 1.8rem Georgia,serif;color:#efc65a}
.svc-detail-shell{max-width:1370px;margin:0 auto;padding:18px 22px 55px;display:grid;grid-template-columns:1.1fr .58fr .9fr;gap:14px}.svc-panel{border:1px solid #e5dfd6;border-radius:13px;background:#fff;padding:16px}.svc-panel h2{margin:0 0 10px;font:700 1.18rem Georgia,serif;color:#19583f}.svc-offer{position:relative;padding:13px 12px;border:1px solid #ede6dc;border-radius:11px;margin-top:9px}.svc-offer h3{margin:0 0 4px;font:700 .92rem Georgia,serif}.svc-offer p{margin:0;font-size:.68rem;color:#59645e}.svc-offer .svc-discount{top:10px;right:10px}.svc-offer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.svc-coupon-preview{border:1px dashed #d3a652;border-radius:12px;padding:17px;background:#fffdf8;text-align:center}.svc-coupon-preview .qr{width:125px;height:125px;margin:16px auto;background:repeating-linear-gradient(45deg,#111 0 5px,#fff 5px 10px);border:10px solid #fff;outline:1px solid #ddd}.svc-coupon-preview code{display:block;color:#74111e;font-weight:900}.svc-contact{display:grid;gap:9px;font-size:.72rem}.svc-contact a{color:#74111e}.svc-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.svc-gallery img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:8px}
.svc-coupon-sheet{max-width:800px;margin:40px auto;padding:24px}.svc-coupon-card{border:2px dashed #c99f3d;border-radius:18px;padding:30px;background:#fff;color:#1f2d27}.svc-coupon-card header{text-align:center;border-bottom:1px solid #e9e2d6;padding-bottom:18px}.svc-coupon-card header img{width:95px;height:95px;object-fit:contain}.svc-coupon-card h1{font:700 2rem Georgia,serif;color:#70121d}.svc-coupon-code{text-align:center;font:900 1.5rem monospace;letter-spacing:.08em;color:#70121d;padding:18px}.svc-print-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}@media print{.site-header,.public-back-wrap,.site-footer,.svc-print-actions{display:none!important}.svc-coupon-sheet{margin:0;max-width:none}.svc-coupon-card{border:2px dashed #000}}
@media(max-width:1050px){.svc-grid{grid-template-columns:repeat(2,1fr)}.svc-detail-hero{grid-template-columns:1fr 230px}.svc-poster{display:none}.svc-detail-shell{grid-template-columns:1fr 1fr}.svc-detail-shell>.svc-panel:first-child{grid-column:1/-1}}
@media(max-width:720px){.svc-hero{grid-template-columns:1fr}.svc-hero-brand{margin-top:25px}.svc-grid{grid-template-columns:1fr}.svc-card{grid-template-columns:100px 1fr}.svc-logo{width:92px;height:92px}.svc-logo img{width:72px;height:72px}.svc-info-row{grid-template-columns:1fr}.svc-info{border-right:0;border-bottom:1px solid #e8e1d8}.svc-choice-grid{grid-template-columns:1fr}.svc-detail-hero{grid-template-columns:1fr;text-align:center}.svc-detail-logo{margin:auto;width:210px;height:210px}.svc-detail-logo img{width:170px;height:170px}.svc-detail-shell{grid-template-columns:1fr}.svc-detail-shell>.svc-panel:first-child{grid-column:auto}}

/* V3 contrast fixes */
body .svc-page{background:#fff!important;color:#14261f!important}
body .svc-shell{background:#fff!important;color:#14261f!important}
body .svc-page .svc-tab{background:#fff!important;color:#17573f!important;border-color:#ded8cf!important;opacity:1!important;text-shadow:none!important}
body .svc-page .svc-tab.is-active,body .svc-page .svc-tab:hover{background:linear-gradient(135deg,#8b1624,#650d18)!important;color:#fff!important;border-color:#73111d!important}
body .svc-page .svc-title-row h2{color:#18553d!important;opacity:1!important}
body .svc-page .svc-title-row>a{color:#17583f!important}
body .svc-page .svc-card{background:#fff!important;color:#1d2a25!important;border-color:#e2ddd5!important;opacity:1!important}
body .svc-page .svc-card h3{color:#1d2a25!important;opacity:1!important;text-shadow:none!important}
body .svc-page .svc-card p{color:#46534d!important;opacity:1!important;text-shadow:none!important}
body .svc-page .svc-card .svc-lock{color:#225c43!important;opacity:1!important}
body .svc-page .svc-card .svc-cat{color:#236044!important;background:#eaf3e7!important;opacity:1!important}
body .svc-page .svc-card .svc-code{color:#74111e!important;background:#fff!important}
body .svc-page .svc-panel{background:#fff!important;color:#24342d!important}
body .svc-page .svc-info-row{background:#fffdf9!important;color:#182a22!important}
body .svc-page .svc-info strong{color:#182a22!important;opacity:1!important}
body .svc-page .svc-info small{color:#4e5b55!important;opacity:1!important}
body .svc-page .svc-territory-banner h3{color:#e7b94c!important}
body .svc-page .svc-territory-banner p{color:#fff!important;opacity:1!important}
body .svc-page .svc-territory-banner a{color:#fff!important}
body .svc-page .svc-btn{color:#fff!important}
body .svc-page .svc-btn.ghost{background:#fff!important;color:#74111e!important}

.svmap-page{background:#fff;color:#172a22;min-height:70vh;padding:24px 22px 55px}.svmap-wrap{max-width:1370px;margin:0 auto}.svmap-head{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:14px}.svmap-head small{display:block;color:#8b1724;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.svmap-head h1{margin:0;color:#153d2d!important;font:700 clamp(2rem,4vw,3.5rem) Georgia,serif!important}.svmap-head p{margin:7px 0 0;color:#52635b!important;max-width:760px}.svmap-back{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:8px;background:#74111e;color:#fff!important;text-decoration:none!important;font-size:.72rem;font-weight:900}.svmap-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px}.svmap-mapbox,.svmap-list{border:1px solid #e4ded6;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 9px 24px rgba(0,0,0,.06)}#svmap-map{width:100%;height:650px;background:#edf2ef}.svmap-list{padding:14px;max-height:650px;overflow:auto}.svmap-list h2{margin:0 0 10px;color:#18553d!important;font:700 1.1rem Georgia,serif!important}.svmap-business{display:grid;grid-template-columns:58px minmax(0,1fr);gap:11px;padding:11px 0;border-bottom:1px solid #eee8e0}.svmap-business:last-child{border-bottom:0}.svmap-business-logo{width:54px;height:54px;border-radius:12px;border:1px solid #e7e1d9;background:#fff;display:grid;place-items:center;overflow:hidden}.svmap-business-logo img{width:46px;height:46px;object-fit:contain}.svmap-business h3{margin:0 0 3px;color:#1b3027!important;font-size:.82rem!important}.svmap-business p{margin:0;color:#607067!important;font-size:.64rem!important;line-height:1.35!important}.svmap-address{margin-top:4px;color:#7a1722!important;font-size:.61rem!important}.svmap-dir{display:inline-flex;margin-top:7px;padding:6px 9px;border-radius:6px;background:#07543b;color:#fff!important;text-decoration:none!important;font-size:.6rem;font-weight:900}.svmap-note{margin-top:10px;padding:10px 12px;border-radius:9px;background:#f7f2ea;color:#5a493f;font-size:.65rem}.svmap-logo-marker{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff;border:3px solid #0b6345;box-shadow:0 5px 14px rgba(0,0,0,.33);overflow:visible}.svmap-logo-marker img{width:48px;height:48px;object-fit:contain;border-radius:13px;background:#fff}.svmap-logo-marker span{font-size:28px}.svmap-logo-marker:after{content:"";position:absolute;width:14px;height:14px;background:#0b6345;border:3px solid #fff;border-radius:50%;bottom:-10px;left:50%;transform:translateX(-50%)}.svmap-popup{min-width:230px;color:#24342d}.svmap-popup-top{display:flex;align-items:center;gap:9px;margin-bottom:7px}.svmap-popup-top img{width:46px;height:46px;object-fit:contain;border-radius:9px;border:1px solid #eee}.svmap-popup h3{margin:0;color:#174f39;font-size:14px}.svmap-popup p{margin:5px 0;color:#59675f;font-size:11px;line-height:1.35}.svmap-popup .addr{color:#74111e;font-weight:700}.svmap-popup a{display:inline-flex;margin-top:7px;padding:7px 9px;border-radius:6px;background:#07543b;color:#fff!important;text-decoration:none!important;font-weight:900;font-size:11px}@media(max-width:900px){.svmap-layout{grid-template-columns:1fr}#svmap-map{height:480px}.svmap-list{max-height:none}}


/* ============================================================
   V5 - REGOLE CONTRASTO DEFINITIVE
   Mai testo bianco su pannelli/sfondi chiari.
   Le scritte chiare restano solo su hero, banner scuri e pulsanti.
   ============================================================ */

html body .svc-choice,
html body .svc-page,
html body .svc-shell,
html body .svc-detail-shell,
html body .svc-coupon-sheet,
html body .svm5-page{
  color:#182920!important;
}

html body .svc-choice-title h1,
html body .svc-choice-title p{
  color:#1a2d25!important;
  text-shadow:none!important;
  opacity:1!important;
}

html body .svc-shell h1,
html body .svc-shell h2,
html body .svc-shell h3,
html body .svc-shell h4,
html body .svc-shell p,
html body .svc-shell small,
html body .svc-shell span,
html body .svc-shell div,
html body .svc-detail-shell h1,
html body .svc-detail-shell h2,
html body .svc-detail-shell h3,
html body .svc-detail-shell h4,
html body .svc-detail-shell p,
html body .svc-detail-shell small,
html body .svc-detail-shell span,
html body .svc-detail-shell div,
html body .svc-coupon-card h1,
html body .svc-coupon-card h2,
html body .svc-coupon-card h3,
html body .svc-coupon-card p,
html body .svc-coupon-card span,
html body .svc-coupon-card div{
  text-shadow:none!important;
  opacity:1!important;
}

/* Pannelli chiari = testo scuro */
html body .svc-shell,
html body .svc-card,
html body .svc-panel,
html body .svc-info-row,
html body .svc-info,
html body .svc-offer,
html body .svc-coupon-preview,
html body .svc-coupon-card{
  background-color:#fff!important;
  color:#182920!important;
}

html body .svc-card h3,
html body .svc-panel h2,
html body .svc-offer h3,
html body .svc-coupon-card h1{
  color:#1b3429!important;
}

html body .svc-card p,
html body .svc-panel p,
html body .svc-offer p,
html body .svc-info small,
html body .svc-coupon-card p{
  color:#4c5b54!important;
}

html body .svc-info strong,
html body .svc-lock{
  color:#1c4c38!important;
}

html body .svc-tab{
  color:#17573f!important;
  background:#fff!important;
}
html body .svc-tab.is-active,
html body .svc-tab:hover{
  color:#fff!important;
  background:linear-gradient(135deg,#8b1624,#650d18)!important;
}

html body .svc-title-row h2,
html body .svc-title-row>a{
  color:#17583f!important;
}

/* Zone volutamente scure = testo chiaro */
html body .svc-hero,
html body .svc-hero *,
html body .svc-choice-card,
html body .svc-choice-card *,
html body .svc-detail-hero,
html body .svc-detail-hero *,
html body .svc-territory-banner,
html body .svc-territory-banner *{
  color:#fff!important;
}
html body .svc-hero .svc-hero-brand>span,
html body .svc-choice-card>small,
html body .svc-detail-copy>small,
html body .svc-territory-banner h3{
  color:#e3b94d!important;
}

html body .svc-btn,
html body .svc-btn *,
html body .svc-territory-banner a,
html body .svm5-btn,
html body .svm5-btn *{
  color:#fff!important;
}

/* ============================================================
   V5 - MAPPA ATTIVITA'
   ============================================================ */
.svm5-page{
  background:#f8f7f3!important;
  min-height:70vh;
  padding:24px 22px 55px;
  color:#1b2d25!important;
}
.svm5-wrap{max-width:1480px;margin:0 auto}
.svm5-head{
  display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-bottom:14px
}
.svm5-head small{
  display:block;color:#78131f!important;font-weight:900;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:4px
}
.svm5-head h1{
  margin:0;color:#153d2d!important;
  font:700 clamp(2rem,4vw,3.5rem) Georgia,serif!important;
  text-shadow:none!important
}
.svm5-head p{margin:7px 0 0;color:#52635b!important;max-width:820px}
.svm5-back{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;
  padding:0 14px;border-radius:8px;background:#0b5039;color:#fff!important;
  text-decoration:none!important;font-size:.72rem;font-weight:900
}
.svm5-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px
}
.svm5-mapbox{
  position:relative;overflow:hidden;height:680px;
  border:1px solid #d9d3ca;border-radius:15px;background:#111;
  box-shadow:0 11px 28px rgba(0,0,0,.13)
}
.svm5-map{
  position:absolute;inset:0;overflow:hidden;background:#151515;touch-action:none;cursor:grab
}
.svm5-map.is-dragging{cursor:grabbing}
.svm5-tiles{position:absolute;inset:0;overflow:hidden}
.svm5-tile{
  position:absolute;width:256px;height:256px;user-select:none;pointer-events:none;
  object-fit:cover;background:#1d1d1d
}
.svm5-label-tile{
  position:absolute;width:256px;height:256px;user-select:none;pointer-events:none
}
.svm5-markers{position:absolute;inset:0;pointer-events:none}
.svm5-marker{
  position:absolute;transform:translate(-50%,-100%);pointer-events:auto;
  border:0;background:transparent;padding:0;cursor:pointer
}
.svm5-marker-logo{
  width:58px;height:58px;border-radius:16px;background:#fff;border:3px solid #78131f;
  display:grid;place-items:center;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.45)
}
.svm5-marker-logo img{width:48px;height:48px;object-fit:contain}
.svm5-marker-logo span{font-size:28px}
.svm5-marker:after{
  content:"";display:block;width:15px;height:15px;margin:-3px auto 0;
  background:#0a6143;border:3px solid #fff;border-radius:50%;
  box-shadow:0 3px 8px rgba(0,0,0,.35)
}
.svm5-controls{
  position:absolute;z-index:20;right:12px;top:12px;display:grid;gap:8px
}
.svm5-controls button{
  width:42px;height:42px;border:1px solid rgba(0,0,0,.12);border-radius:9px;
  background:#fff;color:#173b2c!important;font-size:1.15rem;font-weight:900;
  box-shadow:0 3px 12px rgba(0,0,0,.23);cursor:pointer
}
.svm5-layer-switch{
  position:absolute;z-index:20;left:12px;top:12px;display:flex;gap:6px;
  padding:5px;border-radius:10px;background:rgba(255,255,255,.94);
  box-shadow:0 3px 12px rgba(0,0,0,.24)
}
.svm5-layer-switch button{
  border:0;border-radius:7px;padding:8px 11px;background:transparent;
  color:#28463a!important;font-weight:900;font-size:.67rem;cursor:pointer
}
.svm5-layer-switch button.active{background:#0b5a40;color:#fff!important}
.svm5-attrib{
  position:absolute;z-index:20;right:7px;bottom:5px;padding:3px 6px;
  background:rgba(255,255,255,.82);border-radius:4px;
  color:#333!important;font-size:10px
}
.svm5-popup{
  position:absolute;z-index:30;width:min(320px,calc(100% - 26px));
  display:none;padding:15px;border-radius:13px;background:#fff;
  border:1px solid #ddd6cd;box-shadow:0 13px 35px rgba(0,0,0,.32);
  color:#1b2d25!important
}
.svm5-popup.open{display:block}
.svm5-popup-top{display:flex;gap:10px;align-items:center}
.svm5-popup-logo{
  width:56px;height:56px;object-fit:contain;border-radius:11px;background:#fff;
  border:1px solid #e4ddd5;padding:4px
}
.svm5-popup h3{margin:0;color:#6f111d!important;font-size:1rem}
.svm5-popup p{margin:7px 0;color:#495851!important;font-size:.75rem;line-height:1.45}
.svm5-popup .addr{color:#6f111d!important;font-size:.68rem;font-weight:800}
.svm5-popup-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.svm5-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:35px;
  padding:0 10px;border-radius:7px;background:#0b5a40;color:#fff!important;
  text-decoration:none!important;font-size:.62rem;font-weight:900;text-transform:uppercase
}
.svm5-btn.alt{background:#73111d}
.svm5-side{
  padding:14px;max-height:680px;overflow:auto;border:1px solid #dcd6cd;
  border-radius:15px;background:#fff!important;color:#1a2b23!important
}
.svm5-side h2{margin:0 0 10px;color:#18553d!important;font:700 1.08rem Georgia,serif!important}
.svm5-business{
  display:grid;grid-template-columns:58px minmax(0,1fr);gap:11px;
  padding:11px 0;border-bottom:1px solid #eee8e0;color:#1a2b23!important
}
.svm5-business:last-child{border-bottom:0}
.svm5-business-logo{
  width:54px;height:54px;border-radius:12px;border:1px solid #e7e1d9;
  background:#fff;display:grid;place-items:center;overflow:hidden
}
.svm5-business-logo img{width:46px;height:46px;object-fit:contain}
.svm5-business h3{margin:0 0 3px;color:#1b3027!important;font-size:.82rem!important}
.svm5-business p{margin:0;color:#5d6a64!important;font-size:.64rem!important;line-height:1.35!important}
.svm5-address{margin-top:4px;color:#7a1722!important;font-size:.61rem!important}
.svm5-note,
.svm5-bottom-card{
  color:#3f5048!important;background:#fff!important;border:1px solid #e5dfd6;
  border-radius:10px
}
.svm5-note{margin-top:8px;padding:9px 10px;font-size:.64rem}
.svm5-bottom{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px
}
.svm5-bottom-card{padding:14px}
.svm5-bottom-card strong{display:block;color:#17553d!important;margin-bottom:4px}
.svm5-bottom-card span{color:#53615b!important;font-size:.7rem;line-height:1.4}
@media(max-width:950px){
  .svm5-layout{grid-template-columns:1fr}
  .svm5-mapbox{height:520px}
  .svm5-side{max-height:none}
}
@media(max-width:720px){
  .svm5-bottom{grid-template-columns:1fr}
  .svm5-mapbox{height:470px}
}


/* ============================================================
   V6 - CONVENZIONI ONLINE: BANNER MANUALE / HTML
   ============================================================ */
.svc-card-online{
  position:relative;
  align-items:stretch!important;
}
.svc-html-banner,
.svc-manual-banner{
  grid-column:1/-1;
  width:100%;
  min-height:86px;
  margin:-1px -1px 10px;
  overflow:hidden;
  border-radius:12px 12px 8px 8px;
  background:#f5f3ee;
  border-bottom:1px solid #e7e0d7;
  display:flex;
  align-items:center;
  justify-content:center;
}
.svc-manual-banner img{
  width:100%;
  height:118px;
  display:block;
  object-fit:cover;
}
.svc-html-banner>a,
.svc-html-banner>div,
.svc-html-banner>span,
.svc-html-banner>picture{
  max-width:100%;
}
.svc-html-banner img{
  display:block;
  max-width:100%!important;
  height:auto!important;
  max-height:160px;
  object-fit:contain;
  margin:auto;
}
.svc-html-banner-locked{
  width:100%;
  padding:24px 12px;
  text-align:center;
  color:#5d6761!important;
  font-size:.72rem;
}
.svc-html-link{
  display:inline-flex;
  align-items:center;
}
.svc-html-link a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 12px!important;
  border-radius:7px;
  background:#74111e!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:.65rem!important;
  font-weight:900!important;
}
.svc-card-online.has-html-banner .svc-logo,
.svc-card-online.has-manual-banner .svc-logo{
  align-self:center;
}

/* V6.2 marker nome attività */
.svm5-marker{min-width:70px}
.svm62-marker-name{
  display:block;
  position:absolute;
  left:50%;
  top:62px;
  transform:translateX(-50%);
  max-width:150px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#193b2d!important;
  font-size:10px;
  font-weight:900;
  box-shadow:0 2px 7px rgba(0,0,0,.22);
  pointer-events:none
}
