/* CalabriaVera UX refinement — September 2026 */
:root{--focus-ring:0 0 0 4px rgba(10,155,194,.16);--cv-glass:rgba(255,255,255,.86);--cv-soft:#f5f9fb;--cv-hover:#eef7fa;--cv-ease:cubic-bezier(.2,.72,.2,1)}
html{scroll-padding-top:90px;scroll-behavior:smooth}body{min-height:100dvh}button,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s var(--cv-ease)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid transparent;box-shadow:var(--focus-ring)}
label:has(#verified),.badge-verified{display:none!important}
.site-header.cv-header{background:rgba(255,255,255,.9)!important;backdrop-filter:blur(18px) saturate(145%);border-bottom:1px solid rgba(203,216,225,.76);box-shadow:0 8px 30px rgba(17,36,54,.045)}.brand-logo{transition:transform .28s var(--cv-ease),filter .28s ease}.brand:hover .brand-logo{transform:translateY(-1px) scale(1.015)}.primary-nav a,.primary-mobile a,.account-links a{border-radius:9px;transition:color .18s ease,background .18s ease,transform .18s var(--cv-ease)}.primary-nav a:hover{transform:translateY(-1px)}.header-language select{border-radius:999px!important;background:var(--cv-soft)!important}.menu-button{border-radius:10px!important}
.form-grid{gap:14px!important}.form-grid label,.stack label{gap:6px}.form-grid input,.form-grid select,.form-grid textarea,.stack input,.stack select,.stack textarea{width:100%;background:#fff;border-color:#d7e0e7;border-radius:11px!important}.form-grid input:hover,.form-grid select:hover,.form-grid textarea:hover,.stack input:hover,.stack select:hover{border-color:#aebfca}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.stack input:focus,.stack select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(10,155,194,.1)}.form-grid textarea{min-height:132px;resize:vertical}.form-grid label>b,.form-confirm b{color:#a23434;font-size:.88em}.small{line-height:1.45}
.business-form{display:grid;gap:14px;max-width:1180px}.form-intro{align-items:end}.form-intro h1{font-size:clamp(2.25rem,5vw,4rem);margin-bottom:.55rem}.form-progress{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.form-progress span{font-size:.76rem;font-weight:750;padding:.42rem .65rem;border-radius:999px;background:#edf5f8;color:#365567;border:1px solid #dbe8ee}.form-section{padding:clamp(1rem,2vw,1.4rem)!important}.form-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.form-section-title>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#0a9bc2);color:#fff;font-weight:800;box-shadow:0 6px 16px rgba(7,91,143,.18)}.form-section-title h2{font-size:1.2rem;margin:0 0 .15rem}.form-section-title p{margin:0;color:var(--muted);font-size:.9rem}.form-confirm{display:grid;gap:.5rem}.address-check{align-self:end;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.address-check p{margin:0}
.address-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:18px;align-items:stretch}.address-fields{align-content:start}.address-map-panel{display:grid;gap:9px;min-width:0}.business-address-map{position:relative;min-height:360px;border:1px solid #d7e0e7;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#eef5f7,#f9fbfc);box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}.business-address-map .leaflet-control-container{font-size:.82rem}.business-address-map .leaflet-bar{border:0!important;box-shadow:0 6px 20px rgba(17,36,54,.12)!important}.business-address-map .leaflet-bar a{border:0!important}.map-placeholder{min-height:360px;display:grid;place-content:center;text-align:center;gap:7px;padding:24px;color:var(--muted)}.map-placeholder strong{color:var(--ink);font-size:1.05rem}.map-pin-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:13px;background:#f5f9fb;border:1px solid #dbe7ed}.map-pin-tools>div:first-child{display:grid;gap:2px}.map-pin-tools span{font-size:.8rem;color:var(--muted)}.map-nudge{display:grid;grid-template-columns:repeat(5,34px);gap:5px}.map-nudge button{width:34px;height:34px;border:1px solid #cfdae1;border-radius:9px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}.map-nudge button:hover{background:var(--cv-hover);border-color:#9eb8c6;transform:translateY(-1px)}
.service-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.service-option{position:relative}.service-option input{position:absolute;opacity:0;pointer-events:none}.service-option span{display:flex;align-items:center;min-height:42px;padding:.62rem .72rem;border:1px solid #d7e0e7;border-radius:11px;background:#fff;font-size:.88rem;cursor:pointer;transition:.18s var(--cv-ease)}.service-option span:hover{border-color:#9fb9c8;background:#f8fbfc;transform:translateY(-1px)}.service-option input:checked+span{border-color:var(--brand);background:#eef8fb;box-shadow:inset 0 0 0 1px var(--brand);font-weight:700}.service-option input:focus-visible+span{box-shadow:var(--focus-ring)}.sticky-form-actions{position:sticky;bottom:10px;z-index:8;padding:10px;border:1px solid rgba(207,219,226,.9);border-radius:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(17,36,54,.1)}
.filter-panel{scrollbar-width:thin}.filter-panel .stack{gap:10px!important}.filter-actions{position:sticky;bottom:0;padding-top:8px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 28%)}.result-toolbar{border-bottom:1px solid var(--line)}.activity-item h3 a,.card h3 a{color:inherit;text-decoration:none}.activity-item h3 a:hover,.card h3 a:hover{text-decoration:underline;text-underline-offset:3px}.activity-item .button{align-self:center}.empty-state{border:1px dashed #cbd8df;background:rgba(255,255,255,.65)}
.card,.activity-item,.editorial-card,.filter-panel,.legal-prose,.notice,.source-panel{overflow-wrap:anywhere;transition:transform .24s var(--cv-ease),box-shadow .24s ease,border-color .24s ease}.button{transition:transform .18s var(--cv-ease),box-shadow .18s ease,background .18s ease,border-color .18s ease}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(1px) scale(.99)}.button-primary{box-shadow:0 7px 18px rgba(7,91,143,.14)}.button-primary:hover{box-shadow:0 11px 24px rgba(7,91,143,.2)}.notice strong{display:block;margin-bottom:.2rem}.meta-row{row-gap:4px}.table-wrap{overflow:auto;overscroll-behavior-inline:contain}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs>*{white-space:nowrap}.location-tile,.category-link,.social-link{transition:transform .2s var(--cv-ease),box-shadow .2s ease,background .2s ease}.location-tile:hover,.category-link:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(17,36,54,.08)}.social-link:hover{transform:translateY(-2px) scale(1.04)}.whatsapp-float{transition:transform .22s var(--cv-ease),box-shadow .22s ease}.whatsapp-float:hover{transform:translateY(-3px) scale(1.04)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 18%,rgba(10,155,194,.08),transparent 24%);opacity:.9}.hero{position:relative;overflow:hidden}.editorial-card{position:relative}.editorial-card::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-45px;bottom:-55px;background:rgba(10,155,194,.08);pointer-events:none}.toast{animation:cvToast .28s var(--cv-ease) both}
@media(hover:hover) and (pointer:fine){.card:hover,.activity-item:hover,.editorial-card:hover{transform:translateY(-3px);border-color:#cad9e1;box-shadow:0 16px 38px rgba(17,36,54,.09)!important}}
@media(prefers-reduced-motion:no-preference){main>.section,main>.hero,main>.auth-shell{animation:cvRise .46s var(--cv-ease) both}.section-heading,.hero-grid>*{animation:cvRise .52s var(--cv-ease) both}.hero-grid>*:nth-child(2){animation-delay:.07s}.grid-2>.card,.grid-3>.card,.grid-4>.card,.result-list>.activity-item,.blog-card{animation:cvCardIn .42s var(--cv-ease) both}.grid-3>.card:nth-child(2),.grid-4>.card:nth-child(2){animation-delay:.035s}.grid-3>.card:nth-child(3),.grid-4>.card:nth-child(3){animation-delay:.07s}.grid-4>.card:nth-child(4){animation-delay:.105s}.form-section{animation:cvRise .4s var(--cv-ease) both}.form-section:nth-of-type(2){animation-delay:.035s}.form-section:nth-of-type(3){animation-delay:.07s}.form-section:nth-of-type(4){animation-delay:.105s}}
@keyframes cvRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes cvCardIn{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}@keyframes cvToast{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-width:1000px){.address-map-layout{grid-template-columns:1fr}.business-address-map,.map-placeholder{min-height:330px}}
@media(max-width:900px){.service-options{grid-template-columns:repeat(2,minmax(0,1fr))}.form-progress{justify-content:flex-start}.address-check{grid-column:1/-1}.sticky-form-actions{bottom:6px}.catalog-layout .filter-panel{position:relative!important;top:auto!important}}
@media(max-width:640px){.business-form{gap:10px}.form-section{padding:13px!important}.form-section-title{gap:9px}.service-options{grid-template-columns:1fr 1fr;gap:7px}.service-option span{min-height:40px;padding:.55rem .62rem}.address-check{grid-template-columns:1fr}.address-check .button{width:100%}.sticky-form-actions{display:grid;grid-template-columns:1fr;gap:8px}.sticky-form-actions .button{width:100%}.form-grid{gap:11px!important}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.activity-item .button{width:100%}.business-address-map,.map-placeholder{min-height:290px}.map-pin-tools{align-items:flex-start;flex-direction:column}.map-nudge{width:100%;grid-template-columns:repeat(5,1fr)}.map-nudge button{width:100%;height:40px}}
@media(max-width:420px){.service-options{grid-template-columns:1fr}.form-section-title>span{flex-basis:29px;height:29px}.form-progress span{font-size:.72rem}.business-address-map,.map-placeholder{min-height:260px}}

/* Free map polish: clearer, more modern visual treatment without paid map APIs. */
.business-address-map{border-radius:20px;border-color:#cbdbe3;box-shadow:0 18px 44px rgba(17,36,54,.10),inset 0 0 0 1px rgba(255,255,255,.7);isolation:isolate}.business-address-map::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:450;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.42),inset 0 -70px 90px rgba(20,62,82,.035)}.business-address-map .leaflet-tile-pane{filter:saturate(.88) contrast(1.035) brightness(1.025)}.business-address-map .leaflet-marker-icon{filter:drop-shadow(0 7px 9px rgba(18,45,60,.28));transition:filter .16s ease,transform .16s ease}.business-address-map .leaflet-marker-icon:hover{filter:drop-shadow(0 9px 12px rgba(18,45,60,.34)) saturate(1.08)}.business-address-map .leaflet-control-zoom{margin:14px 0 0 14px!important;border-radius:12px!important;overflow:hidden}.business-address-map .leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important;font-size:20px!important;background:rgba(255,255,255,.94)!important;color:#234657!important;backdrop-filter:blur(10px)}.business-address-map .leaflet-control-zoom a:hover{background:#fff!important;color:var(--brand)!important}.business-address-map .leaflet-control-attribution{margin:0 8px 7px 0!important;padding:3px 7px!important;border-radius:8px!important;background:rgba(255,255,255,.82)!important;backdrop-filter:blur(8px);font-size:10px!important}.business-address-map.leaflet-container{font-family:inherit;cursor:crosshair}.business-address-map.leaflet-container:active{cursor:grabbing}.map-pin-tools{background:rgba(247,251,252,.94);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(17,36,54,.055)}.map-pin-tools strong{color:#163849}.map-nudge button{box-shadow:0 3px 8px rgba(17,36,54,.05)}.map-nudge button:active{transform:translateY(1px) scale(.96)}.address-check #address-status{padding:.5rem .65rem;border-radius:10px;background:#f7fafb;border:1px solid #e0e9ed}.map-placeholder{background:radial-gradient(circle at 50% 42%,rgba(10,155,194,.09),transparent 30%),linear-gradient(145deg,#eef6f8,#fbfcfd)}

/* Google Maps embed on public business pages, same no-key approach used by Le Ninfee. */
.business-google-map{margin:0 0 2.5rem;padding:1.1rem;border:1px solid #d7e3e9;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(17,36,54,.07)}.business-map-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:.9rem}.business-map-heading h2{margin:.08rem 0 0}.google-map-frame{overflow:hidden;border:1px solid #d4dfe5;border-radius:16px;background:#eef3f5;aspect-ratio:16/9;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.google-map-frame iframe{display:block;width:100%;height:100%;min-height:360px;border:0}.business-map-actions{display:flex;justify-content:flex-end;padding-top:.7rem}.business-map-actions .text-link{font-weight:700}@media(max-width:640px){.business-google-map{padding:.75rem;border-radius:16px}.business-map-heading{align-items:stretch;flex-direction:column}.business-map-heading .button{width:100%}.google-map-frame{aspect-ratio:4/3}.google-map-frame iframe{min-height:300px}.business-map-actions{justify-content:flex-start}}
