/* SG Footer — Farmacia San Giorgio · prefix sgf- */
.sgf{--sg-night:#0A3327;--sg-green:#007A4C;--sg-glow:#3BF29A;--sg-on-night:#CFE3D8;--sg-ink:#0B2B22;--sg-wa:#25D366;--sgf-line:rgba(255,255,255,.1);--sgf-ease:cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;overflow:clip;padding:72px 0 172px;background:var(--sg-night);color:var(--sg-on-night);font-family:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
.sgf *,.sgf *::before,.sgf *::after{box-sizing:border-box;margin:0;padding:0}
.sgf ul{list-style:none}
.sgf a{color:inherit;text-decoration:none}
.sgf button{font:inherit;cursor:pointer;border:0}
.sgf address{font-style:normal}
.sgf .sgf-ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sgf .sgf-ic.is-fill{fill:currentColor;stroke:none}
.sgf :focus-visible{outline:2px solid var(--sg-glow);outline-offset:3px;border-radius:8px}

.sgf::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(59,242,154,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(59,242,154,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 0%,#000 10%,transparent 70%)}
.sgf-spot{position:absolute;left:0;top:0;width:640px;height:640px;margin:-320px 0 0 -320px;border-radius:50%;background:radial-gradient(circle,rgba(59,242,154,.13),rgba(59,242,154,0) 62%);pointer-events:none;transform:translate(var(--sx,70vw),var(--sy,120px));transition:transform .9s var(--sgf-ease)}
.sgf-wrap{position:relative;max-width:1250px;margin:0 auto;padding:0 18px}

/* reveal */
.sgf-js .sgf-rv{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .9s var(--sgf-ease);transition-delay:calc(var(--d,0) * 90ms)}
.sgf-js .sgf-rv.is-in{opacity:1;transform:none}

/* ------------------------------------------------ CTA */
.sgf-cta{display:grid;gap:34px}
.sgf-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;border:1px solid rgba(59,242,154,.25);background:rgba(59,242,154,.06);font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--sg-glow)}
.sgf-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--sg-glow);box-shadow:0 0 10px var(--sg-glow);animation:sgfBlink 1.6s ease-in-out infinite}
@keyframes sgfBlink{50%{opacity:.3}}
.sgf-cta__h{margin-top:20px;font-family:'Bricolage Grotesque','Figtree',sans-serif;font-size:clamp(2.6rem,11vw,5.4rem);font-weight:700;line-height:.98;letter-spacing:-.045em;color:#FFFFFF}
.sgf-hl{position:relative;display:inline-block;color:var(--sg-glow);white-space:nowrap}
.sgf-hl svg{position:absolute;left:0;bottom:-.14em;width:100%;height:.28em;overflow:visible}
.sgf-hl path{fill:none;stroke:var(--sg-glow);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.2s var(--sgf-ease) .5s}
.sgf-rv.is-in .sgf-hl path,.sgf:not(.sgf-js) .sgf-hl path{stroke-dashoffset:0}
.sgf-cta__p{max-width:44ch;margin-top:20px;font-size:17px;line-height:1.6;color:var(--sg-on-night)}

.sgf-tiles{display:grid;gap:10px;align-content:start}
.sgf-tile{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:16px;padding:16px 18px 16px 16px;border-radius:24px;border:1px solid var(--sgf-line);background:rgba(255,255,255,.04);transition:border-color .4s,transform .5s var(--sgf-ease)}
.sgf-tile::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sg-glow);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--sgf-ease)}
.sgf-tile__ic{width:54px;height:54px;flex:none;border-radius:18px;display:grid;place-items:center;background:rgba(59,242,154,.12);color:var(--sg-glow);transition:background .4s,color .4s,transform .5s var(--sgf-ease)}
.sgf-tile__ic .sgf-ic{width:24px;height:24px}
.sgf-tile--wa .sgf-tile__ic{background:var(--sg-wa);color:#FFFFFF}
.sgf-tile__txt{display:flex;flex-direction:column;min-width:0}
.sgf-tile__txt small{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sg-on-night);transition:color .4s}
.sgf-tile__txt b{font-family:'Bricolage Grotesque','Figtree',sans-serif;font-size:clamp(1.25rem,5vw,1.6rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:#FFFFFF;transition:color .4s}
.sgf-tile__go{margin-left:auto;width:22px!important;height:22px!important;color:var(--sg-glow);transition:transform .5s var(--sgf-ease),color .4s}
.sgf-tile:hover,.sgf-tile:focus-visible{border-color:var(--sg-glow)}
.sgf-tile:hover::before,.sgf-tile:focus-visible::before{transform:scaleX(1)}
.sgf-tile:hover .sgf-tile__txt small,.sgf-tile:hover .sgf-tile__txt b,.sgf-tile:hover .sgf-tile__go,.sgf-tile:focus-visible .sgf-tile__txt small,.sgf-tile:focus-visible .sgf-tile__txt b,.sgf-tile:focus-visible .sgf-tile__go{color:var(--sg-night)}
.sgf-tile:hover .sgf-tile__ic,.sgf-tile:focus-visible .sgf-tile__ic{background:var(--sg-night);color:var(--sg-glow);transform:rotate(-8deg)}
.sgf-tile:hover .sgf-tile__go,.sgf-tile:focus-visible .sgf-tile__go{transform:rotate(-45deg)}

/* ------------------------------------------------ ECG */
.sgf-ecg{height:80px;margin:52px -18px 44px}
.sgf-ecg svg{display:block;width:100%;height:100%}
.sgf-ecg path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.sgf-ecg__base{stroke:rgba(59,242,154,.1);stroke-width:1.5}
.sgf-ecg__draw{stroke:rgba(59,242,154,.4);stroke-width:1.6;stroke-dasharray:1000;stroke-dashoffset:0}
.sgf-js .sgf-ecg__draw{stroke-dashoffset:1000;transition:stroke-dashoffset 3.2s cubic-bezier(.45,0,.2,1)}
.sgf-js .sgf-ecg.is-in .sgf-ecg__draw{stroke-dashoffset:0}
.sgf-ecg__pulse{stroke:var(--sg-glow);stroke-width:2.6;stroke-dasharray:70 930;stroke-dashoffset:1000;filter:drop-shadow(0 0 5px rgba(59,242,154,.9));animation:sgfPulse 6s linear infinite}
@keyframes sgfPulse{to{stroke-dashoffset:0}}

/* ------------------------------------------------ columns */
.sgf-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 20px}
.sgf-brand,.sgf-col--contact{grid-column:1 / -1}
.sgf-logo{display:inline-flex;align-items:center;gap:12px}
.sgf-logo img{display:block;width:190px;height:auto}
.sgf-led{width:48px;height:48px;flex:none;display:grid;grid-template-columns:repeat(5,1fr);gap:3.5px;padding:9px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(59,242,154,.18)}
.sgf-led i{display:block;border-radius:50%;background:rgba(59,242,154,.12)}
.sgf-led i.on{background:var(--sg-glow);box-shadow:0 0 7px rgba(59,242,154,.9);animation:sgfLed 3.2s ease-in-out infinite;animation-delay:calc(var(--k) * 160ms)}
@keyframes sgfLed{0%,100%{opacity:1}50%{opacity:.45}}
.sgf-logo__txt{display:flex;flex-direction:column}
.sgf-logo__txt b{font-family:'Bricolage Grotesque','Figtree',sans-serif;font-size:20px;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:#FFFFFF}
.sgf-logo__txt small{margin-top:3px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sg-glow)}
.sgf-brand__p{max-width:40ch;margin-top:18px;color:var(--sg-on-night)}
.sgf-note{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:10px 16px;border-radius:14px;background:rgba(59,242,154,.07);border:1px solid rgba(59,242,154,.16);font-size:14px;font-weight:600;color:#E8F3EE}
.sgf-note .sgf-ic{color:var(--sg-glow)}
.sgf-social{display:flex;gap:8px;margin-top:20px}
.sgf-social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--sgf-line);color:#FFFFFF;transition:background .35s,color .35s,transform .45s var(--sgf-ease)}
.sgf-social a:hover{background:var(--sg-glow);color:var(--sg-night);transform:translateY(-3px)}

.sgf-col__t{margin-bottom:16px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sg-glow)}
.sgf-col__t--sub{margin:28px 0 12px}
.sgf-links li + li{margin-top:9px}
.sgf-links a{position:relative;display:inline-flex;align-items:center;gap:0;color:var(--sg-on-night);font-weight:500;transition:color .3s,gap .4s var(--sgf-ease)}
.sgf-links a::before{content:"";width:0;height:2px;border-radius:2px;background:var(--sg-glow);transition:width .4s var(--sgf-ease)}
.sgf-links a:hover,.sgf-links a:focus-visible{color:#FFFFFF;gap:10px}
.sgf-links a:hover::before,.sgf-links a:focus-visible::before{width:14px}
.sgf-addr{display:flex;flex-direction:column;gap:2px}
.sgf-addr b{font-size:16px;color:#FFFFFF}
.sgf-arrowlink{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:700;color:var(--sg-glow)!important}
.sgf-arrowlink .sgf-ic{width:16px;height:16px;transition:transform .45s var(--sgf-ease)}
.sgf-arrowlink:hover .sgf-ic{transform:translateX(5px)}
.sgf-clist{margin-top:18px;display:grid;gap:4px}
.sgf-clist a{display:inline-flex;align-items:center;gap:12px;padding:7px 0;font-weight:600;color:#E8F3EE;transition:color .3s}
.sgf-clist a .sgf-ic{width:34px;height:34px;padding:8px;border-radius:11px;background:rgba(255,255,255,.06);color:var(--sg-glow);transition:background .35s,color .35s}
.sgf-clist a:hover{color:#FFFFFF}
.sgf-clist a:hover .sgf-ic{background:var(--sg-glow);color:var(--sg-night)}
.sgf-hours div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px dashed var(--sgf-line)}
.sgf-hours dt{font-weight:600;color:#FFFFFF}
.sgf-hours dd{color:var(--sg-on-night);text-align:right}

/* ------------------------------------------------ wordmark */
.sgf-mark{display:flex;justify-content:center;margin:56px -18px 0;padding:0 8px;overflow:hidden;font-family:'Bricolage Grotesque','Figtree',sans-serif;font-size:clamp(3rem,15vw,13rem);font-weight:800;line-height:1;letter-spacing:-.055em;white-space:nowrap;user-select:none}
.sgf-mark__in{display:inline-flex;padding-bottom:.24em;margin-bottom:-.16em}
.sgf-mark__in > span{display:inline-block;background:linear-gradient(180deg,#3BF29A 0%,rgba(59,242,154,.55) 45%,rgba(59,242,154,.06) 96%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.sgf-mark__in > .sgf-mark__sp{width:.22em}
.sgf-js .sgf-mark__in > span{transform:translateY(70%);opacity:0;transition:transform 1.1s var(--sgf-ease),opacity .8s;transition-delay:calc(var(--c) * 45ms)}
.sgf-js .sgf-mark.is-in .sgf-mark__in > span{transform:none;opacity:1}

/* ------------------------------------------------ legal */
.sgf-legal{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:1px solid var(--sgf-line);font-size:13.5px;color:#A9C6B8}
.sgf-links--legal{display:flex;flex-wrap:wrap;gap:6px 20px}
.sgf-links--legal li + li{margin-top:0}
.sgf-links--legal a{font-size:13.5px;line-height:22px;color:#DCEBE3}
.sgf-copy,.sgf-credit__txt{line-height:22px}
.sgf-credit__link{display:inline-flex;align-items:center;gap:10px;color:#A9C6B8}
.sgf-credit.is-right .sgf-credit__link{flex-direction:row-reverse}
.sgf-credit__logo{display:block;flex:none;height:22px;width:auto;max-width:140px;object-fit:contain;transition:transform .5s var(--sgf-ease)}
.sgf-credit__logo.is-mark{width:22px;color:var(--sg-glow)}
.sgf-credit__txt b{font-weight:700;color:#FFFFFF;background-image:linear-gradient(var(--sg-glow),var(--sg-glow));background-size:0 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .45s var(--sgf-ease)}
.sgf-credit__link:hover .sgf-credit__txt b,.sgf-credit__link:focus-visible .sgf-credit__txt b{background-size:100% 2px}
.sgf-credit__link:hover .sgf-credit__logo{transform:rotate(-8deg) scale(1.08)}

/* ------------------------------------------------ floating */
.sgf-float{position:fixed;right:16px;bottom:16px;z-index:9980;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}
.sgf-float > *{pointer-events:auto}
.sgf-top{position:relative;width:48px;height:48px;margin-right:6px;border-radius:50%;display:grid;place-items:center;background:var(--sg-night);color:#FFFFFF;box-shadow:0 12px 26px -12px rgba(10,51,39,.8);opacity:0;visibility:hidden;transform:translateY(16px) scale(.8);transition:opacity .4s,transform .5s var(--sgf-ease),visibility 0s linear .5s,background .3s}
.sgf-top.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .4s,transform .5s var(--sgf-ease),visibility 0s,background .3s}
.sgf-top:hover{background:var(--sg-green)}
.sgf-top .sgf-ic{width:18px;height:18px;transition:transform .45s var(--sgf-ease)}
.sgf-top:hover .sgf-ic{transform:translateY(-3px)}
.sgf-top__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.sgf-top__ring circle{fill:none;stroke:var(--sg-glow);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:var(--p,100)}
.sgf-wa{position:relative;display:flex;align-items:center}
.sgf-wa__btn{position:relative;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--sg-wa);color:#FFFFFF;box-shadow:0 16px 30px -12px rgba(37,211,102,.9);transition:transform .45s var(--sgf-ease)}
.sgf-wa__btn .sgf-ic{position:relative;z-index:1;width:30px;height:30px}
.sgf-wa__btn::before,.sgf-wa__btn::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--sg-wa);animation:sgfWa 2.6s ease-out infinite}
.sgf-wa__btn::after{animation-delay:1.3s}
@keyframes sgfWa{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.65);opacity:0}}
.sgf-wa__btn:hover{transform:scale(1.07) rotate(-6deg)}
.sgf-wa__tip{position:absolute;right:72px;top:50%;padding:10px 14px;border-radius:14px 14px 4px 14px;background:#FFFFFF;color:var(--sg-ink);font-size:14px;font-weight:700;white-space:nowrap;box-shadow:0 14px 30px -14px rgba(10,51,39,.6);opacity:0;transform:translate(10px,-50%) scale(.9);transform-origin:100% 50%;transition:opacity .35s,transform .45s var(--sgf-ease);pointer-events:none}
.sgf-wa:hover .sgf-wa__tip,.sgf-wa.is-tip .sgf-wa__tip{opacity:1;transform:translate(0,-50%) scale(1)}

/* ------------------------------------------------ breakpoints */
@media(min-width:760px){
	.sgf{padding:96px 0 40px}
	.sgf-wrap{padding:0 24px}
	.sgf-ecg{margin-left:-24px;margin-right:-24px}
	.sgf-grid{grid-template-columns:repeat(3,1fr)}
	.sgf-brand{grid-column:1 / -1}
	.sgf-col--contact{grid-column:auto}
	.sgf-legal{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-right:90px}
	.sgf-float{right:22px;bottom:22px}
	.sgf-mark{margin-left:-24px;margin-right:-24px}
}
@media(min-width:1000px){
	.sgf{padding:120px 0 40px}
	.sgf-cta{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:60px;align-items:end}
	.sgf-grid{grid-template-columns:1.4fr .9fr .8fr 1.1fr;gap:40px}
	.sgf-brand{grid-column:auto}
	.sgf-legal{padding-right:90px}
}

@media(prefers-reduced-motion:reduce){
	.sgf *,.sgf *::before,.sgf *::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
}
