.amplo-locator, .amplo-locator * { box-sizing: border-box; }
  .amplo-locator {
    --amplo:#05b1db; --soft:#e5f2f8; --text:#001d3d; --muted:#536276; --line:#d6e7ef;
    font-family: Jost, Arial, sans-serif; color:var(--text); width:100%; max-width:100%; overflow:hidden;
    padding: 28px 16px 44px; background:#fff;
  }
  .amplo-locator .aml-wrap { max-width: 1180px; margin:0 auto; width:100%; }
  .amplo-locator .aml-hero { text-align:center; margin: 8px auto 28px; }
  .amplo-locator .aml-logo { display:block; width:142px; height:auto; margin:0 auto 34px; }
  .amplo-locator .aml-kicker { color:var(--amplo); font-weight:800; margin-bottom:12px; }
  .amplo-locator .aml-hero h1 { margin:0; color:var(--amplo); font-size:clamp(34px,4.2vw,58px); line-height:1.04; font-weight:900; letter-spacing:-.04em; }
  .amplo-locator .aml-hero p { max-width:720px; margin:18px auto 0; color:var(--muted); font-size:17px; line-height:1.55; }
  .amplo-locator .aml-section { margin-top:30px; scroll-margin-top: 90px; }
  .amplo-locator .aml-section-head { display:flex; justify-content:space-between; align-items:end; gap:14px; margin:0 0 12px; }
  .amplo-locator .aml-section-head h2 { margin:0; color:var(--amplo); font-size:30px; font-weight:900; }
  .amplo-locator .aml-section-head span { font-weight:800; color:var(--muted); white-space:nowrap; }
  .amplo-locator .aml-group { border:1px solid var(--line); border-radius:18px; margin:14px 0; background:#fff; overflow:hidden; }
  .amplo-locator .aml-group summary { list-style:none; cursor:pointer; background:var(--soft); padding:16px 20px; display:flex; align-items:center; justify-content:space-between; gap:14px; font-weight:900; }
  .amplo-locator .aml-group summary::-webkit-details-marker { display:none; }
  .amplo-locator .aml-group summary::after { content:''; width:10px; height:10px; border-right:2px solid var(--amplo); border-bottom:2px solid var(--amplo); transform:rotate(45deg); transition:.2s; flex:0 0 auto; margin-left:8px; }
  .amplo-locator .aml-group:not([open]) summary::after { transform:rotate(-45deg); }
  .amplo-locator .aml-group summary:hover { background:#e5f2f8; }
  .amplo-locator .aml-group summary span { flex:1; }
  .amplo-locator .aml-group summary em { font-style:normal; background:#fff; color:var(--amplo); border-radius:999px; padding:3px 10px; font-size:13px; font-weight:900; }
  .amplo-locator .aml-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:18px; }
  .amplo-locator .aml-card { border:1px solid var(--line); border-radius:18px; background:#fff; padding:20px; box-shadow:0 14px 34px rgba(0,29,61,.04); min-width:0; }
  .amplo-locator .aml-card h3 { margin:0 0 8px; color:var(--text); font-size:21px; line-height:1.18; font-weight:800; }
  .amplo-locator .aml-place { color:var(--amplo); font-weight:900; margin-bottom:6px; }
  .amplo-locator .aml-installer { color:var(--muted); font-size:13px; margin-bottom:12px; }
  .amplo-locator .aml-lines { margin-top:14px; display:grid; gap:8px; color:var(--text); }
  .amplo-locator .aml-line { display:grid; grid-template-columns:20px minmax(0,1fr); gap:8px; line-height:1.45; word-break:break-word; }
  .amplo-locator .aml-line span:first-child { color:var(--amplo); font-weight:900; }
  .amplo-locator .aml-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
  .amplo-locator .aml-action { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:10px 14px; border:1px solid #bcd4df; border-radius:10px; background:#fff; color:var(--text)!important; text-decoration:none!important; font-size:13px; font-weight:900; }
  .amplo-locator .aml-action:hover { background:var(--soft); }
  .amplo-locator .aml-primary { background:var(--amplo); border-color:var(--amplo); color:#fff!important; }
  .amplo-locator .aml-cta { margin:32px 0 0; border:1px solid var(--line); border-radius:22px; padding:22px; display:flex; align-items:center; justify-content:space-between; gap:18px; background:linear-gradient(90deg,var(--soft),#fff); }
  .amplo-locator .aml-cta h3 { margin:0 0 4px; font-size:23px; }
  .amplo-locator .aml-cta p { margin:0; color:var(--muted); }
  .amplo-locator .aml-cta a { background:var(--amplo); color:#fff!important; padding:14px 20px; border-radius:12px; font-weight:900; text-decoration:none!important; white-space:nowrap; }
  .amplo-locator .aml-area-input { position:absolute; opacity:0;  width:1px; height:1px; }
  .amplo-locator .aml-area-tabs { display:flex; justify-content:center; gap:12px; margin:0 auto 26px; }
  .amplo-locator .aml-area-tabs label { display:inline-flex; align-items:center; justify-content:center; min-width:170px; padding:15px 28px; border-radius:14px; border:1px solid var(--line); background:#fff; color:var(--text); font-weight:900; cursor:pointer; transition:.2s; }
  .amplo-locator .aml-area-tabs label:hover { background:var(--soft); }
  .amplo-locator .aml-area-italia:checked ~ .aml-area-tabs .aml-tab-italia,
  .amplo-locator .aml-area-estero:checked ~ .aml-area-tabs .aml-tab-estero { background:var(--amplo); border-color:var(--amplo); color:#fff; }
  .amplo-locator .aml-panel { display:none; }
  .amplo-locator .aml-area-italia:checked ~ .aml-panels .aml-panel-italia { display:block; }
  .amplo-locator .aml-area-estero:checked ~ .aml-panels .aml-panel-estero { display:block; }
  .amplo-locator .aml-panels { width:100%; }
  @media (max-width: 767px) {
    .amplo-locator { padding: 24px 10px 36px; }
    .amplo-locator .aml-logo { width:104px; margin-bottom:42px; }
    .amplo-locator .aml-hero { margin-top:0; }
    .amplo-locator .aml-hero h1 { font-size:36px; line-height:1.08; }
    .amplo-locator .aml-hero p { font-size:16px; padding:0 8px; }
    .amplo-locator .aml-area-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:20px; }
    .amplo-locator .aml-area-tabs label { min-width:0; width:100%; padding:14px 10px; }
    .amplo-locator .aml-section-head { align-items:center; }
    .amplo-locator .aml-section-head h2 { font-size:25px; }
    .amplo-locator .aml-section-head span { font-size:14px; }
    .amplo-locator .aml-group { border-radius:15px; }
    .amplo-locator .aml-group summary { padding:14px 14px; gap:10px; }
    .amplo-locator .aml-group summary span { min-width:0; }
    .amplo-locator .aml-group summary em { flex:0 0 auto; }
    .amplo-locator .aml-grid { grid-template-columns:1fr; gap:14px; padding:14px; }
    .amplo-locator .aml-card { padding:16px; border-radius:15px; }
    .amplo-locator .aml-card h3 { font-size:19px; }
    .amplo-locator .aml-actions { display:grid; grid-template-columns:1fr 1fr; }
    .amplo-locator .aml-action { width:100%; min-height:42px; }
    .amplo-locator .aml-cta { flex-direction:column; text-align:center; padding:18px 14px; }
    .amplo-locator .aml-cta a { width:100%; text-align:center; }
  }

.amplo-locator .aml-browser { border:0; padding:0; margin:0; min-inline-size:0; }
.amplo-locator .aml-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.amplo-locator .aml-area-italia:focus-visible ~ .aml-area-tabs .aml-tab-italia,
.amplo-locator .aml-area-estero:focus-visible ~ .aml-area-tabs .aml-tab-estero,
.amplo-locator .aml-action:focus-visible,
.amplo-locator .aml-cta a:focus-visible,
.amplo-locator .aml-group summary:focus-visible { outline:3px solid #001d3d; outline-offset:3px; }
.amplo-locator .aml-single-area .aml-panel { display:block; }
.amplo-locator .aml-empty { color:var(--muted); }
.amplo-locator .aml-card { display:flex; flex-direction:column; }
.amplo-locator .aml-actions { padding-top:18px; margin-top:auto; }
.amplo-locator .aml-primary:hover { background:#0086a8; border-color:#0086a8; }
.amplo-locator .aml-action { gap:4px; }
.amplo-locator .aml-symbol { display:inline-flex; align-items:center; flex-shrink:0; }
.amplo-locator .aml-icon { display:block; flex-shrink:0; }
.amplo-locator .aml-action .aml-icon { width:14px; height:14px; }
.amplo-locator .aml-hero h2 { margin:0; color:var(--amplo); font-size:clamp(34px,4.2vw,58px); line-height:1.04; font-weight:900; letter-spacing:-.04em; }
@media (max-width:767px) { .amplo-locator .aml-hero h2 { font-size:36px; line-height:1.08; } }
@media (prefers-reduced-motion:reduce) { .amplo-locator .aml-area-tabs label, .amplo-locator .aml-group summary::after { transition:none; } }
@media print { .amplo-locator .aml-area-tabs, .amplo-locator .aml-area-input { display:none; } .amplo-locator .aml-panel { display:block !important; } .amplo-locator .aml-group > .aml-grid { display:grid !important; } .amplo-locator .aml-card { break-inside:avoid; } }
