/* CalabriaVera — Modern Travel / Local Discovery design system */
:root{
  --cv-navy:#082f49;--cv-navy-2:#0b3a5d;--cv-blue:#075b8f;--cv-cyan:#0a9bc2;--cv-gold:#f5b82e;
  --cv-ink:#17212b;--cv-muted:#64748b;--cv-bg:#f7f9fb;--cv-surface:#fff;--cv-line:#e7edf2;
  --cv-radius:18px;--cv-radius-lg:28px;--cv-shadow:0 18px 50px rgba(15,42,61,.10);--cv-shadow-sm:0 8px 24px rgba(15,42,61,.07);
}
html{background:var(--cv-bg)}body{background:var(--cv-bg);color:var(--cv-ink);font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
.container{width:min(calc(100% - 42px),1280px)}
.section{padding:4.5rem 0}.section-heading{margin-bottom:1.55rem}.section-heading h1,.section-heading h2{letter-spacing:-.035em}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:850;color:#cc8a00}
h1,h2,h3{letter-spacing:-.028em}h1{font-size:clamp(2.65rem,5.5vw,5rem);line-height:.98}h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.05}p{line-height:1.65}.muted{color:var(--cv-muted)!important}

/* Header */
.site-header.cv-header{background:rgba(8,47,73,.94)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;box-shadow:none!important;backdrop-filter:blur(18px) saturate(150%)}
.cv-header .header-inner{min-height:76px}.cv-header .brand-logo{width:190px;filter:brightness(0) invert(1);object-fit:contain}.primary-nav a,.primary-mobile>a{color:rgba(255,255,255,.88)!important;font-weight:700!important;padding:1.65rem .25rem 1.45rem;border-radius:0!important;box-shadow:none!important}.primary-nav a:hover{color:#fff!important;transform:none!important}.primary-nav a[aria-current="page"]{color:#fff!important;box-shadow:inset 0 -3px var(--cv-gold)!important}.header-language select{background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.2)!important}.header-language select option{color:#111}.guest-actions a:not(.button){color:#fff!important}.guest-actions .button,.account-menu summary{border-color:rgba(255,255,255,.22)!important;color:#fff!important;background:rgba(255,255,255,.08)!important}.guest-actions .button:hover,.account-menu summary:hover{background:rgba(255,255,255,.15)!important}.menu-button{color:#fff!important;border-color:rgba(255,255,255,.25)!important;background:rgba(255,255,255,.08)!important}
.account-links{border:0!important;border-radius:16px!important;box-shadow:0 22px 60px rgba(7,25,38,.22)!important;padding:9px!important}.account-links a,.account-links button{border-radius:10px!important}

/* Home hero inspired by approved mockup */
body[data-page="home"] .hero{min-height:620px;padding:7.5rem 0 8.5rem;border:0;color:#fff;display:flex;align-items:center;background:linear-gradient(90deg,rgba(4,35,57,.88) 0%,rgba(4,35,57,.66) 44%,rgba(4,35,57,.18) 78%),linear-gradient(180deg,rgba(4,35,57,.08),rgba(4,35,57,.22)),url('/assets/images/social-calabriavera.jpg') center/cover no-repeat}
body[data-page="home"] .hero::before{background:radial-gradient(circle at 76% 20%,rgba(255,255,255,.14),transparent 24%)}
body[data-page="home"] .hero-grid{grid-template-columns:minmax(0,760px) 1fr;align-items:center;gap:3rem}
body[data-page="home"] .hero h1{color:#fff;max-width:760px;text-shadow:0 4px 30px rgba(0,0,0,.2)}body[data-page="home"] .hero p{color:rgba(255,255,255,.88)}
body[data-page="home"] .hero .eyebrow{display:inline-flex;align-items:center;gap:.45rem;color:#fff;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);padding:.55rem .8rem;border-radius:999px;text-transform:none;letter-spacing:0;font-size:.82rem}
body[data-page="home"] .editorial-card{justify-self:end;max-width:320px;padding:1.25rem!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:22px;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px);color:var(--cv-ink);box-shadow:0 20px 55px rgba(7,25,38,.25)}body[data-page="home"] .editorial-card .eyebrow{color:var(--cv-blue);background:#eef6fb;border-color:#d6e7f0}body[data-page="home"] .editorial-card strong{font-family:inherit;font-size:1.55rem;letter-spacing:-.03em}body[data-page="home"] .editorial-card p{color:var(--cv-muted)}
body[data-page="home"] .hero-search{position:absolute;z-index:5;left:50%;bottom:-50px;transform:translateX(-50%);width:min(calc(100% - 42px),1160px);grid-template-columns:1.15fr 1fr auto;gap:0;padding:12px;border-radius:18px;background:#fff;box-shadow:0 20px 60px rgba(10,32,47,.20);color:var(--cv-ink)}body[data-page="home"] .hero-search label{padding:.35rem 1rem;border-right:1px solid var(--cv-line);font-size:.78rem;color:var(--cv-muted)}body[data-page="home"] .hero-search input{border:0!important;box-shadow:none!important;padding:.5rem 0!important;font-size:.98rem;background:transparent!important}body[data-page="home"] .hero-search .button{min-width:145px;border-radius:13px!important;margin-left:10px}
body[data-page="home"] .hero+.section{padding-top:7rem}

/* Cards / tiles */
.card,.activity-item,.blog-card,.filter-panel,.notice,.table-wrap,.stat,.location-tile,.category-link{border:1px solid var(--cv-line)!important;border-radius:var(--cv-radius)!important;background:var(--cv-surface)!important;box-shadow:0 1px 0 rgba(15,42,61,.02)}
.card,.activity-item,.blog-card{box-shadow:var(--cv-shadow-sm)!important}.card:hover,.activity-item:hover,.blog-card:hover{box-shadow:var(--cv-shadow)!important;border-color:#d8e4eb!important}
.location-tile,.category-link{min-height:72px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:780;text-decoration:none;color:var(--cv-ink)!important;background:linear-gradient(180deg,#fff,#fbfcfd)!important}.location-tile:hover,.category-link:hover{background:#fff!important;transform:translateY(-3px)!important}
.category-list{gap:12px}.category-link{border-radius:14px!important;padding:1rem 1.25rem!important}

/* Buttons */
.button{border-radius:12px!important;padding:.78rem 1.08rem!important;font-weight:800!important;border-color:#cad6de!important}.button-primary{background:var(--cv-blue)!important;border-color:var(--cv-blue)!important;color:#fff!important;box-shadow:0 10px 24px rgba(7,91,143,.18)!important}.button-primary:hover{background:#064d79!important;box-shadow:0 14px 30px rgba(7,91,143,.24)!important}.button-secondary{background:#fff!important;color:var(--cv-ink)!important}.button-secondary:hover{background:#f7fafc!important}.text-link{border:0!important;color:var(--cv-blue)!important;text-decoration:none!important}.text-link:hover{text-decoration:underline!important;text-underline-offset:4px}

/* Forms */
input,select,textarea{border:1px solid #d8e2e8!important;border-radius:12px!important;background:#fff!important;padding:.78rem .9rem!important}.form-grid,.stack{gap:14px!important}.form-section{border:1px solid var(--cv-line)!important;border-radius:22px!important;box-shadow:var(--cv-shadow-sm)!important;background:#fff!important}.form-section-title{border-bottom-color:var(--cv-line)!important}.filter-panel{padding:20px!important;box-shadow:var(--cv-shadow-sm)!important}.filter-actions{background:linear-gradient(180deg,rgba(255,255,255,0),#fff 30%)!important}

/* Catalog */
body[data-page="catalog"] main>.section{padding-top:3.5rem}.catalog-layout{grid-template-columns:300px minmax(0,1fr);gap:24px}.result-toolbar{padding:12px 0 15px;border-bottom:1px solid var(--cv-line)!important}.activity-item{grid-template-columns:190px minmax(0,1fr) auto;padding:14px!important;overflow:hidden}.activity-item .media-placeholder{border-radius:13px}.badge{border-color:#dce5ea!important;background:#f7fafb;padding:.28rem .58rem!important}

/* Map */
.map-panel,.leaflet-container{border-radius:22px!important;overflow:hidden;box-shadow:var(--cv-shadow)!important;border-color:#dce5ea!important}.map-layout{gap:22px}

/* Blog */
.blog-card{overflow:hidden!important}.blog-card .body{padding:20px!important}.article-hero{background:linear-gradient(180deg,#edf6fb,transparent);padding-top:4.5rem!important}.article-layout{gap:42px}.prose{font-size:1.03rem}.prose h2{margin-top:2.2rem}.prose img{border-radius:18px;box-shadow:var(--cv-shadow-sm)}

/* Business detail */
.business-google-map{border-radius:24px!important;box-shadow:var(--cv-shadow)!important;border-color:var(--cv-line)!important}.google-map-frame{border-radius:18px!important}.chip{background:#f6fafc!important;border-color:#dce6ec!important}

/* Auth / personal area */
.auth-shell,.profile-shell,.dashboard-shell{max-width:1120px;margin-inline:auto}.auth-card,.dashboard-card{border-radius:24px!important;box-shadow:var(--cv-shadow)!important}.cta-band{border:0!important;border-radius:24px;background:linear-gradient(135deg,var(--cv-navy),var(--cv-blue));color:#fff;padding:2rem 2.2rem!important;box-shadow:var(--cv-shadow)}.cta-band .eyebrow,.cta-band p{color:#fff}.cta-band .button-secondary{border-color:rgba(255,255,255,.4)!important}

/* Admin: one cohesive app */
body[data-page^="admin-"]{background:#f3f6f8}body[data-page^="admin-"] main>.section{padding-top:2.2rem}.admin-layout{grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start}.admin-layout>aside{position:sticky;top:96px;padding:10px!important;border-radius:18px!important;box-shadow:var(--cv-shadow-sm)!important;background:#fff!important;gap:4px!important}.admin-layout>aside .button{justify-content:flex-start;width:100%;padding:.68rem .82rem!important;border:0!important;box-shadow:none!important;background:transparent!important;color:#52616d!important;border-radius:10px!important}.admin-layout>aside .button:hover{background:#f1f6f9!important;color:var(--cv-blue)!important;transform:none!important}.admin-layout>aside .button-primary{background:#eaf4f9!important;color:var(--cv-blue)!important;font-weight:850!important}.admin-layout>section{min-width:0}.admin-layout #admin-content>.card,.admin-layout #admin-content .card{box-shadow:var(--cv-shadow-sm)!important}.stat-grid{gap:12px}.stat{border-radius:16px!important;padding:18px!important;box-shadow:none!important}.stat strong{font-family:inherit!important;font-size:2rem;letter-spacing:-.04em}.tabs{gap:4px;border-bottom-color:var(--cv-line)!important}.tab{border-radius:10px 10px 0 0!important;padding:.72rem .9rem!important}.tab.active{background:#eef6fa;color:var(--cv-blue);border-color:var(--cv-blue)!important}.table-wrap{box-shadow:var(--cv-shadow-sm)!important}.table-wrap th{background:#f7fafb;color:#52616d;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.table-wrap tr:hover td{background:#fbfdfe}

/* Footer */
.footer{margin-top:5rem;background:#062b45;color:rgba(255,255,255,.72)!important;border:0!important;padding:4rem 0 3rem!important}.footer strong{color:#fff!important}.footer a{color:rgba(255,255,255,.8)!important}.footer a:hover{color:#fff!important}.footer-logo{filter:brightness(0) invert(1)}.social-link{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.15)!important;color:#fff!important}.whatsapp-float{box-shadow:0 16px 34px rgba(8,47,73,.22)!important}

/* Responsive */
@media(max-width:1180px){body[data-page="home"] .hero-grid{grid-template-columns:1fr}.admin-layout{grid-template-columns:1fr}.admin-layout>aside{position:relative;top:auto;display:flex!important;overflow-x:auto;gap:6px!important;scrollbar-width:none}.admin-layout>aside::-webkit-scrollbar{display:none}.admin-layout>aside .button{width:auto!important;white-space:nowrap}.catalog-layout{grid-template-columns:1fr}.filter-panel{position:relative!important;top:auto!important}}
@media(max-width:760px){.container{width:min(calc(100% - 26px),1280px)}.section{padding:3.25rem 0}.cv-header .brand-logo{width:155px}body[data-page="home"] .hero{min-height:560px;padding:5.5rem 0 10rem;background-position:62% center}body[data-page="home"] .editorial-card{display:none}body[data-page="home"] .hero-search{bottom:-96px;width:calc(100% - 24px);grid-template-columns:1fr;padding:10px}body[data-page="home"] .hero-search label{border-right:0;border-bottom:1px solid var(--cv-line);padding:.5rem .7rem}body[data-page="home"] .hero-search .button{margin:8px 0 0;width:100%}body[data-page="home"] .hero+.section{padding-top:8.5rem}.activity-item{grid-template-columns:1fr!important}.stat-grid{grid-template-columns:1fr 1fr}.admin-layout>aside{margin-inline:-2px}.footer{padding-top:3rem!important}}
@media(max-width:480px){h1{font-size:clamp(2.45rem,13vw,3.4rem)}.stat-grid{grid-template-columns:1fr}.category-list{display:grid;grid-template-columns:1fr 1fr}.category-link{padding:.85rem!important}.section-heading{align-items:start}.cta-band{padding:1.5rem!important}}
