.lp-city-engine{width:min(1120px,calc(100% - 28px));margin:28px auto}.lp-city-engine-hero{width:100%;margin:10px 0 9px;position:relative;z-index:8}.lp-ce-card{background:linear-gradient(135deg,rgba(239,255,247,.98),rgba(231,249,241,.98));border:2px solid #20a95a;border-radius:18px;padding:16px 18px;color:#152b24;box-shadow:0 10px 25px rgba(0,0,0,.16)}.lp-ce-head{display:flex;align-items:center;gap:12px}.lp-ce-icon{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:#19b75c;color:#fff;font-size:27px;box-shadow:inset 0 0 0 5px rgba(255,255,255,.18)}.lp-ce-heading{min-width:0;flex:1}.lp-ce-kicker{display:block;font-size:11px;font-weight:950;letter-spacing:.08em;color:#169a4e}.lp-ce-card h2{font-size:clamp(21px,3vw,28px);line-height:1.08;margin:2px 0 3px;color:#14251f}.lp-ce-heading p{font-size:13px;color:#51655d;margin:0}.lp-ce-beta{align-self:flex-start;background:#d7f4e1;color:#15904a;font-size:11px;font-weight:900;padding:5px 9px;border-radius:999px}.lp-ce-form{display:grid;grid-template-columns:48px 1fr auto;gap:7px;align-items:center;margin-top:12px;background:#fff;border-radius:16px;padding:6px;box-shadow:0 1px 0 rgba(0,0,0,.04)}.lp-ce-mic{width:44px;height:44px;border:0;border-radius:50%;background:#e6f8ed;color:#11974b;font-size:20px;cursor:pointer}.lp-ce-mic.is-listening{background:#19b75c;color:#fff;animation:lpCePulse 1s infinite}.lp-ce-input{min-width:0;height:44px;border:0;outline:0;padding:0 5px;font:600 14px/1.3 inherit;color:#17352c;background:#fff}.lp-ce-button{height:44px;border:0;border-radius:999px;padding:0 18px;background:#13b65a;color:#fff;font-weight:950;font-size:14px;cursor:pointer}.lp-ce-voice-status{min-height:0;font-size:12px;font-weight:750;color:#278357;padding:0 8px}.lp-ce-voice-status:not(:empty){padding-top:7px}.lp-ce-examples{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.lp-ce-example{border:0;background:rgba(255,255,255,.74);color:#233b32;border-radius:999px;padding:7px 10px;cursor:pointer;font-size:11px;font-weight:800}.lp-ce-output{margin-top:12px}.lp-ce-loading{padding:12px;color:#426157}.lp-ce-summary{padding:12px 14px;background:#daf4e4;border-radius:13px;margin-bottom:9px;color:#173b2d}.lp-ce-detected{font-size:11px;color:#5d786d;margin-top:4px}.lp-ce-actions{display:flex;gap:8px;margin:0 0 9px}.lp-ce-speak,.lp-ce-stop{border:0;border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer}.lp-ce-speak{background:#168e4d;color:#fff}.lp-ce-stop{background:#e8eee9;color:#29483b}.lp-ce-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lp-ce-result{background:#fff;color:#18352c;border-radius:13px;padding:13px;text-decoration:none;display:flex;flex-direction:column;min-height:145px;border:1px solid #dcebe3}.lp-ce-result small{color:#39805f;font-weight:900}.lp-ce-result b{font-size:16px;margin:4px 0}.lp-ce-result p{font-size:12px;color:#61736c;line-height:1.4;margin:0 0 8px}.lp-ce-result span{margin-top:auto;font-weight:900;color:#16814a}.lp-ce-articles{margin-top:9px;padding:13px;background:#e4f5eb;border-radius:13px}.lp-ce-articles b{display:block;margin-bottom:6px}.lp-ce-articles a{display:block;color:#176c43;padding:5px 0}.lp-ce-error{background:#ffe8e5;color:#7a2c24;padding:11px;border-radius:12px}@keyframes lpCePulse{50%{transform:scale(1.07);box-shadow:0 0 0 7px rgba(25,183,92,.15)}}
@media(max-width:760px){.lp-city-engine-hero{margin:8px 0}.lp-ce-card{padding:12px;border-radius:15px}.lp-ce-icon{width:42px;height:42px;flex-basis:42px;font-size:23px}.lp-ce-heading p{font-size:11.5px}.lp-ce-card h2{font-size:20px}.lp-ce-form{grid-template-columns:42px 1fr auto}.lp-ce-mic{width:38px;height:38px}.lp-ce-input{height:38px;font-size:12.5px}.lp-ce-button{height:38px;padding:0 13px;font-size:12px}.lp-ce-examples{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.lp-ce-example{white-space:nowrap}.lp-ce-grid{grid-template-columns:1fr}.lp-ce-result{min-height:0}}
/* 1.0.2: City Engine is a normal content section BELOW the hero slider. */
.lp-city-engine.lp-city-engine-hero{position:relative!important;z-index:5!important;width:min(930px,calc(100% - 28px))!important;margin:18px auto 26px!important;transform:none!important;inset:auto!important}
@media(max-width:760px){.lp-city-engine.lp-city-engine-hero{width:calc(100% - 24px)!important;margin:14px auto 22px!important}}

/* City Engine 2.0 — itinerari multi-tappa */
.lp-ce-plan{margin-top:14px;border:1px solid #cfeeda;border-radius:18px;background:#fff;overflow:hidden}
.lp-ce-plan-head{padding:16px 18px;background:linear-gradient(135deg,#effcf4,#f8fffa)}
.lp-ce-plan-head b{display:block;font-size:18px;color:#12251a}.lp-ce-plan-head p{margin:5px 0 0;color:#53645a;font-size:14px}
.lp-ce-timeline{padding:4px 18px 8px}.lp-ce-stop-card{position:relative;padding:16px 0 16px 40px;border-bottom:1px solid #edf2ef}.lp-ce-stop-card:last-child{border-bottom:0}.lp-ce-stop-card:before{content:'';position:absolute;left:13px;top:0;bottom:0;width:2px;background:#bfe8ce}.lp-ce-stop-card:first-child:before{top:25px}.lp-ce-stop-card:last-child:before{bottom:calc(100% - 25px)}
.lp-ce-stop-num{position:absolute;left:0;top:17px;width:28px;height:28px;border-radius:50%;background:#12ad5b;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;z-index:1}.lp-ce-stop-time{font-size:12px;font-weight:800;color:#129d55;text-transform:uppercase;letter-spacing:.04em}.lp-ce-stop-card h3{margin:3px 0 5px;font-size:17px}.lp-ce-stop-card p{margin:0 0 9px;color:#596860;font-size:13px;line-height:1.45}.lp-ce-stop-links{display:flex;gap:8px;flex-wrap:wrap}.lp-ce-stop-links a{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;text-decoration:none;font-size:12px;font-weight:800}.lp-ce-open{background:#13b85f;color:#fff}.lp-ce-map{border:1px solid #13b85f;color:#0b8d48;background:#fff}.lp-ce-plan-actions{display:flex;gap:9px;flex-wrap:wrap;padding:0 18px 18px}.lp-ce-plan-actions a,.lp-ce-plan-actions button{border:0;border-radius:999px;padding:10px 14px;font-weight:800;text-decoration:none;cursor:pointer;font:inherit}.lp-ce-route-all{background:#0d9f52;color:#fff}.lp-ce-new-plan{background:#eef5f0;color:#26372e}.lp-ce-plan-note{margin:0 18px 16px;padding:10px 12px;border-radius:12px;background:#fff8df;color:#6c5920;font-size:12px}
@media(max-width:600px){.lp-ce-timeline{padding-left:14px;padding-right:14px}.lp-ce-plan-head{padding:14px}.lp-ce-plan-actions{padding-left:14px;padding-right:14px}.lp-ce-plan-note{margin-left:14px;margin-right:14px}}
