/* ZOE 1.0 — superficie chiara, pulsanti tattili e icone coordinate. */
:root{--navy:#103f4b;--navy-2:#1b6370;--sea:#167b80;--sea-soft:#e5f3ef;--coral:#c64f40;--sand:#f7f2e9;--muted:#536e74;--line:#d6e4e0;--shadow:0 18px 44px #153e4b12}
body{background:radial-gradient(ellipse at 0 0,#d9efe7 0,transparent 45rem),radial-gradient(ellipse at 100% 18%,#e1edf5 0,transparent 42rem),linear-gradient(150deg,#f2f7f1,#f5f7f5 50%,#fcf4eb);background-attachment:scroll;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,a,input,summary,select{touch-action:manipulation}button{font-family:inherit}
.welcome-nearby{white-space:nowrap;color:#3c7567}
[hidden]{display:none!important}
.topbar{height:88px;border-bottom:1px solid #24535e12;gap:14px}.brand{font-size:30px;letter-spacing:.13em;white-space:nowrap}.brand .pin{color:#cc6752;width:34px;height:34px}.region-badge{background:#ffffffaa;border-color:#ffffffd9;color:#365d63;font-size:11px;font-weight:750}
.install,.share-app-btn,.sponsor-badge{border-color:#fff;background:linear-gradient(155deg,#fff,#f5f8f4);box-shadow:inset 0 1px 0 #fff,0 3px 0 #dbe6e2,0 7px 16px #123b4710}.notify-btn{background:linear-gradient(150deg,#23828a,#17616a);color:#fff;border-color:#fff6;box-shadow:0 3px 0 #10434a,0 6px 14px #164b4f17}
main{padding-top:26px}.welcome{min-height:0;gap:56px;padding:12px 0 44px;overflow:visible;grid-template-columns:1.2fr .8fr}.welcome h1{font-size:clamp(40px,4.8vw,65px);font-weight:800;line-height:1.05;letter-spacing:-.05em}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:#38736c}.welcome-copy>.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 12px;background:#ffffffa8;border:1px solid #fff;border-radius:99px}.welcome-copy>.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:#b86442;box-shadow:0 0 0 3px #b8644214}
.lead{font-size:16px;line-height:1.65;margin:20px 0 23px;max-width:540px;color:#49666e}.photo-wrap{border:7px solid #fffffff2;border-radius:29%;transform:rotate(0);width:100%;max-width:370px;box-shadow:0 7px 0 #d6e2de,0 25px 50px #153f4b22;outline:1px solid #fff;outline-offset:5px}.photo-wrap .mascot{border-radius:0}
.search-box{padding:20px;border-radius:25px;background:linear-gradient(150deg,#fff,#f6faf7);border:1px solid #fff;backdrop-filter:none;box-shadow:0 5px 0 #dce8e2,0 20px 36px #153f4b13,inset 0 1px 0 #fff}.maelle-banner{border:1px solid #ece5dc;border-left:3px solid #d7957b;background:#fffdf8;border-radius:14px;box-shadow:0 3px 8px #153f4b05;margin-bottom:18px}.maelle-ad-label{color:#97614c;letter-spacing:.13em;font-size:9px}.maelle-cta{color:#486967;font-size:11px}
.primary,.input-row button,.install-banner-action{border:1px solid #fff5;border-radius:17px;background:linear-gradient(160deg,#c05243,#b64034);color:#fff;box-shadow:inset 0 1px 0 #ffffff55,0 5px 0 #8e342c,0 11px 19px #9c413422;font-size:15px;font-weight:750;min-height:52px;transition:transform .16s,box-shadow .16s,background .16s;filter:none}
.primary{padding:16px 18px}.primary:disabled,.input-row button:disabled{transform:none;box-shadow:0 3px 0 #aa7f77;opacity:.65;cursor:wait}.primary:active:not(:disabled),.input-row button:active:not(:disabled),.install-banner-action:active{transform:translateY(4px);box-shadow:inset 0 1px 0 #ffffff33,0 1px 0 #8e342c,0 4px 8px #9c413415}
#locateBtn{display:flex;align-items:center;justify-content:center;gap:10px}#locateBtn svg{width:22px;height:22px;flex:none}.or{margin:19px 0 13px;color:#687f82;font-size:11px}.input-row{gap:10px;margin-top:8px}.input-row input{min-height:51px;padding:13px 16px;border-radius:15px;border:1px solid #d5e1dc;background:#fdfefd;box-shadow:inset 0 2px 3px #193f4905}.input-row button{background:linear-gradient(155deg,#256f79,#164f5b);box-shadow:inset 0 1px 0 #ffffff40,0 4px 0 #0f3540,0 8px 16px #193f4915;padding:0 21px;border-radius:15px;font-size:13px;min-height:50px}.input-row button:active:not(:disabled){box-shadow:inset 0 1px 0 #ffffff33,0 1px 0 #0f3540}
.news-section,.feedback-section,.category-chooser{border:1px solid #ffffffee;border-radius:25px;box-shadow:0 3px 0 #dde7e2,0 14px 32px #153f4b0b;margin-bottom:25px}.news-section{padding:24px;background:#ffffffc9}.news-heading{align-items:center}.news-heading h2{font-size:22px;letter-spacing:-.03em}.news-actions{gap:8px}.news-actions .text-btn{min-height:42px;padding:8px 12px;background:#edf4ef;border-radius:12px;font-size:11px;border:1px solid #dde8e0}.news-status{line-height:1.6}.feedback-section{padding:25px;background:linear-gradient(120deg,#f4faf5,#fbfaf4)}.feedback-heading h2{font-size:23px;line-height:1.2;letter-spacing:-.03em}.feedback-heading p:not(.eyebrow){font-size:14px}.feedback-icon{background:linear-gradient(150deg,#f7fcf7,#dcece0);color:#256e5a;box-shadow:inset 0 1px 0 #fff,0 4px 0 #c8dace,0 6px 12px #1e594412;border-radius:16px}.feedback-panel summary{min-height:54px;padding:14px 18px;background:linear-gradient(150deg,#fff,#f1f6ef);border:1px solid #fff;border-radius:15px;box-shadow:0 4px 0 #d6e2d5,0 7px 12px #204c3310;font-size:14px}.feedback-panel summary span{font-size:12px;color:#4e7163}.feedback-panel[open] summary{box-shadow:0 2px 0 #d6e2d5}
.category-chooser{padding:5px 24px 12px;background:linear-gradient(145deg,#ffffffeb,#f3f8f3eb)}.choice-heading{margin:20px 0 22px}.choice-heading h3{font-size:25px;letter-spacing:-.035em}.category-hint{font-size:14px;line-height:1.6}.quick-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:15px;margin-bottom:18px;padding:0 0 6px}
.quick{--tile-ink:#2b7381;--tile-light:#e2eff2;position:relative;min-width:0;min-height:136px;padding:18px 9px 16px;gap:13px;border-radius:21px;border:1px solid #fff;background:linear-gradient(150deg,#fff,#f5f9f5);color:#264c55;box-shadow:inset 0 1px 0 #fff,0 5px 0 #d9e5df,0 10px 17px #143c4b0d;transition:transform .16s,box-shadow .16s,background .16s;transform:none}
.quick b{flex:none;display:grid;place-items:center;width:49px;height:49px;min-width:0;padding:0;border-radius:16px;background:linear-gradient(145deg,#fff,var(--tile-light));color:var(--tile-ink);box-shadow:inset 0 1px 0 #fff,0 3px 0 color-mix(in srgb,var(--tile-ink) 17%,#dfeae2),0 6px 11px #163e4310}.quick b svg{display:block;width:26px;height:26px;overflow:visible}.quick span{font-size:13px;line-height:1.3;font-weight:700;text-wrap:balance;min-height:33px;display:flex;align-items:center;justify-content:center}.quick small{min-width:21px;height:21px;display:grid;place-items:center;right:8px;top:8px;padding:2px 5px;background:#ebf2ee;color:#436369;font-size:10px}
.quick[data-filter=dogpark],.quick[data-filter=shelter]{--tile-ink:#3b7c51;--tile-light:#e2efda}.quick[data-filter=beach]{--tile-ink:#a37028;--tile-light:#f7ebd0}.quick[data-filter=petshop]{--tile-ink:#ad5d52;--tile-light:#f5e3dc}.quick[data-filter=vet]{--tile-ink:#9c5969;--tile-light:#f3e3e9}.quick[data-filter=pharmacy]{--tile-ink:#3e7b6c;--tile-light:#d9ece2}.quick[data-filter=restaurant]{--tile-ink:#a2673b;--tile-light:#f5e6d4}.quick[data-filter=hotel]{--tile-ink:#72709c;--tile-light:#e9e6f3}.quick[data-filter=tourism]{--tile-ink:#497b94;--tile-light:#dfeaf1}
.quick.active{background:linear-gradient(145deg,#286e7a,#124653);color:#fff;border-color:#ffffff70;box-shadow:inset 0 1px 0 #ffffff35,0 5px 0 #0d333d,0 11px 19px #123e4925;transform:none}.quick.active b{background:linear-gradient(145deg,#ffffff24,#ffffff10);color:#fff;box-shadow:inset 0 1px 0 #ffffff40,0 3px 0 #123f49}.quick.active small{background:#fff;color:#1f5967}.quick:active,.quick.active:active{transform:translateY(4px);box-shadow:inset 0 1px 0 #fff5,0 1px 0 #bacfc4,0 3px 8px #143c4b10}.quick.active:active{box-shadow:0 1px 0 #0d333d,0 4px 8px #123e4920}
.map-card,.place-card{border-color:#fff;box-shadow:0 4px 0 #dfe8e3,0 12px 25px #173e4b0d}.map-card{border-radius:23px}.place-card{border-radius:20px;padding:19px}.place-icon{background:linear-gradient(145deg,#f2f8f3,#deede6);box-shadow:inset 0 1px 0 #fff,0 3px 0 #d2e3d9;border-radius:14px}.place-card h3{letter-spacing:-.02em;line-height:1.35}.distance{color:#924735;background:#faeee7;border-radius:9px;padding:6px 8px;font-size:13px}.place-meta{line-height:1.5}.place-card a{padding:6px 0;min-height:34px}.location-line h2{letter-spacing:-.04em}.help-card{background:linear-gradient(145deg,#f7f3e9,#f0f4e9);border-color:#fff;box-shadow:0 3px 0 #e4e7d8}.help-action{box-shadow:inset 0 1px 0 #fff,0 3px 0 #dde5da;transition:transform .16s}.help-action:active{transform:translateY(2px)}.vet-action{background:linear-gradient(145deg,#b65042,#a83d34);box-shadow:0 3px 0 #87372e}.rules-card{background:linear-gradient(120deg,#1e5965,#123f4c);box-shadow:0 3px 0 #0c303b,0 10px 22px #123b4812}.rules-card .eyebrow{color:#b8ded1}.rules-icon{background:#eabda3;color:#673e2d}.rules-card a{border:1px solid #ffffff35;background:#ffffff13}
.share-app-btn:active,.install:active{transform:translateY(2px)}.back-to-top{background:linear-gradient(150deg,#2b7380,#134653);box-shadow:0 4px 0 #0b303b,0 10px 20px #123e4925}.install-banner{border-color:#fff;box-shadow:0 5px 0 #d9e4db,0 20px 50px #153e4b28}.install-banner-action{min-height:42px;padding:11px 14px;font-size:13px}.admin-dialog{border:1px solid #fff;background:#fcfdf9;box-shadow:0 30px 90px #123a483b}.admin-dialog::backdrop{backdrop-filter:blur(6px);background:#113e4a70}.admin-dialog .primary{margin-bottom:5px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #277e8c;outline-offset:4px}.quick.active:focus-visible{outline-color:#b94c3c}
@media(hover:hover){.primary:hover:not(:disabled),.install-banner-action:hover{background:linear-gradient(160deg,#c05243,#ba4438);transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff5,0 6px 0 #8e342c,0 14px 22px #9c413428;filter:none}.input-row button:hover{background:linear-gradient(155deg,#307f89,#195865);box-shadow:0 5px 0 #0f3540,0 10px 18px #193f4920;transform:translateY(-1px);filter:none}.quick:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 7px 0 #d9e5df,0 14px 20px #143c4b15}.quick.active:hover{box-shadow:inset 0 1px 0 #fff4,0 7px 0 #0d333d,0 14px 22px #123e4930}.quick:active,.quick.active:active{transform:translateY(4px)}.quick:active{box-shadow:0 1px 0 #d9e5df}.quick.active:active{box-shadow:0 1px 0 #0d333d}}
@media(max-width:1050px){.welcome{gap:30px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.welcome h1{font-size:52px}.region-badge{display:none}}
@media(min-width:641px) and (max-width:820px){.welcome{grid-template-columns:1.2fr .8fr;gap:24px}.photo-wrap{grid-row:auto;width:100%;max-width:260px}.welcome h1{font-size:44px}.search-box{padding:16px}.lead{font-size:15px}.topbar{padding-inline:22px}.top-actions{gap:8px}}
@media(max-width:640px){.topbar{height:72px;padding:0 18px}.brand{font-size:26px}.brand .pin{width:30px;height:30px}.top-actions{gap:9px}main{padding:20px 16px 60px}.welcome{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:12px 16px;padding:0 0 28px;align-items:center}.welcome-copy{display:contents}.welcome-copy>.eyebrow{grid-column:1;grid-row:1;font-size:8px;letter-spacing:.1em;line-height:1.5;padding:6px 8px;margin:0;justify-self:start}.welcome-copy>.eyebrow:before{width:5px;height:5px;flex:none}.welcome h1{grid-column:1;grid-row:2;font-size:35px;line-height:1.07;letter-spacing:-.045em}.photo-wrap{grid-column:2;grid-row:1/3;width:108px;max-width:100%;margin:0;align-self:center;border-width:4px;border-radius:28%;outline-offset:3px;box-shadow:0 4px 0 #d6e2de,0 12px 23px #153f4b22}.lead{grid-column:1/-1;grid-row:3;font-size:14px;line-height:1.65;margin:5px 0 7px}.search-box{grid-column:1/-1;grid-row:4;width:100%;max-width:none;border-radius:23px;padding:16px}.maelle-banner{margin-bottom:15px}.primary{font-size:14px;min-height:52px}.input-row button{padding:0 19px}.input-row input{font-size:16px}.or{margin:17px 0 12px}.news-section,.feedback-section{padding:20px 17px;border-radius:22px;margin-bottom:20px}.news-heading h2{font-size:21px}.news-heading{gap:10px;align-items:center}.news-actions .text-btn{padding:8px;font-size:10px}.feedback-heading{gap:12px}.feedback-heading h2{font-size:21px}.feedback-icon{width:40px;height:40px;flex-basis:40px;font-size:21px;border-radius:13px}.feedback-heading p:not(.eyebrow){font-size:13px;line-height:1.6}.feedback-panel{margin-top:16px}.feedback-panel summary{padding:13px 14px;min-height:52px}.feedback-panel summary span{font-size:11px}.category-chooser{padding:2px 14px 9px;border-radius:23px;margin-bottom:22px}.choice-heading{margin:19px 3px 20px}.choice-heading h3{font-size:23px}.category-hint{font-size:13px}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px}.quick{min-height:124px;border-radius:18px;padding:15px 6px 12px;gap:12px}.quick b{width:43px;height:43px;border-radius:14px}.quick b svg{width:24px;height:24px}.quick span{font-size:12px;min-height:32px}.quick small{top:6px;right:6px;min-width:18px;height:18px;font-size:9px}.place-card{padding:16px}.place-card h3{font-size:15px}.place-meta{font-size:12px}.help-card{padding:18px}.rules-card{border-radius:17px}.results-head h2{font-size:24px}.news-status{font-size:12px}.eyebrow{font-size:9px}.sponsor-badge{grid-template-columns:auto 76px;padding:4px 7px}.sponsor-badge img{width:76px;height:35px}.share-app-btn{width:38px;height:38px;border-radius:12px}.install-banner-action{min-height:43px}footer{padding-bottom:95px;line-height:1.7}}
@media(max-width:370px){.welcome{grid-template-columns:minmax(0,1fr) 88px;column-gap:12px}.photo-wrap{width:88px}.welcome h1{font-size:32px}.welcome-copy>.eyebrow{font-size:7px}.quick span{font-size:11px}.quick{min-height:122px}.sponsor-badge{grid-template-columns:auto 67px}.sponsor-badge img{width:67px}.top-actions{gap:7px}.topbar{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Zoe e il suo motto hanno più risalto, anche sui telefoni. */
.welcome{grid-template-columns:1.05fr .95fr;gap:44px}
.photo-wrap{max-width:440px}
.welcome-copy>.eyebrow{font-size:19px;font-weight:800;letter-spacing:-.025em;line-height:1.3;padding:10px 16px;text-wrap:balance;color:#295f55}
.welcome-copy>.eyebrow:before{display:none}
@media(min-width:641px) and (max-width:820px){.welcome{gap:26px;grid-template-columns:1.1fr .9fr}.photo-wrap{max-width:300px}.welcome-copy>.eyebrow{font-size:18px;padding:9px 13px}}
@media(max-width:640px){.welcome{grid-template-columns:minmax(0,1fr);gap:16px;padding-top:4px}.photo-wrap{grid-column:1;grid-row:1;width:clamp(180px,52vw,220px);max-width:100%;justify-self:center;margin:0 0 2px;border-width:6px;outline-offset:4px}.welcome-copy>.eyebrow{grid-column:1;grid-row:2;justify-self:center;text-align:center;font-size:23px;line-height:1.2;letter-spacing:-.035em;padding:10px 14px;max-width:100%;margin:0 0 3px}.welcome h1{grid-column:1;grid-row:3;font-size:35px;line-height:1.08}.lead{grid-column:1;grid-row:4;margin:0 0 7px}.search-box{grid-column:1;grid-row:5}}
@media(max-width:370px){.photo-wrap{width:180px}.welcome-copy>.eyebrow{font-size:21px;padding:9px 12px}.welcome h1{font-size:32px}}
