/* CalabriaVera final redesign layer. Loaded last on every page. */
:root{--cv-navy:#002f55;--cv-navy-dark:#002642;--cv-blue:#075b8f;--cv-gold:#ffb000;--cv-text:#101c2b;--cv-muted:#697586;--cv-line:#e4e9ee;--cv-surface:#fff;--cv-soft:#f6f8fa;--cv-radius:12px;--cv-shadow:0 10px 30px rgba(3,37,63,.08)}
html{background:#f7f9fb}body{margin:0;background:#fff;color:var(--cv-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}body *{box-sizing:border-box}a{color:inherit}img{max-width:100%}main{min-height:calc(100vh - 58px)}
.container{width:min(calc(100% - 48px),1400px);max-width:none;margin-inline:auto}.section{padding:34px 0}.section.container{width:min(calc(100% - 48px),1400px)}

/* Stable header: identical on every page from first render. */
.site-header.cv-header{position:relative!important;z-index:900!important;background:linear-gradient(90deg,var(--cv-navy-dark),#00365d)!important;color:#fff!important;border:0!important;box-shadow:none!important}.cv-header .header-inner{width:min(calc(100% - 48px),1480px)!important;min-height:58px!important;display:flex!important;align-items:center!important;gap:22px!important}.cv-header .brand{display:flex!important;align-items:center!important;flex:0 0 auto}.cv-header .brand-logo{width:188px!important;height:46px!important;object-fit:contain!important;filter:none!important}.cv-header .primary-nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:22px!important;flex:1!important;min-width:0!important}.cv-header .primary-nav>a{position:relative!important;color:#fff!important;text-decoration:none!important;font-size:12px!important;font-weight:760!important;white-space:nowrap!important;padding:21px 0 17px!important}.cv-header .primary-nav>a:hover{color:#fff!important}.cv-header .primary-nav>a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:3px;border-radius:3px;background:var(--cv-gold)}.cv-header .header-actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto}.cv-header .header-language select{background:transparent!important;color:#fff!important;border:0!important;min-height:34px!important;padding:0 3px!important}.cv-header .header-language option{color:#111}.cv-header .guest-actions .button{background:var(--cv-gold)!important;color:#0a2941!important;border:0!important;border-radius:9px!important;min-height:38px!important;padding:8px 20px!important;font-weight:850!important}.cv-header .account-menu summary{color:#fff!important}.cv-header .menu-button{color:#fff!important;border-color:rgba(255,255,255,.28)!important;background:transparent!important}.primary-mobile{background:var(--cv-navy)!important;color:#fff!important;padding:12px 20px 18px!important}.primary-mobile>a{color:#fff!important}.cv-header-shortcuts{display:flex!important;align-items:center!important;gap:5px!important}.cv-icon-action{width:36px!important;height:36px!important}

/* Common UI. */
.card,.filter-panel,.notice,.empty-state,.stat,.table-wrap{background:var(--cv-surface)!important;border:1px solid var(--cv-line)!important;border-radius:var(--cv-radius)!important;box-shadow:var(--cv-shadow)!important}.card{padding:18px}.notice,.empty-state{padding:22px}.muted{color:var(--cv-muted)!important}.eyebrow{color:#0870b0!important;font-weight:850!important;letter-spacing:.04em!important;text-transform:uppercase!important;font-size:11px!important}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h1,.section-heading h2{margin:3px 0 0;color:var(--cv-text)}
.button{border-radius:9px!important;min-height:40px!important;font-weight:760!important;transition:transform .16s ease,box-shadow .16s ease!important}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--cv-navy)!important;color:#fff!important;border-color:var(--cv-navy)!important}.button-secondary{background:#fff!important;color:var(--cv-navy)!important;border:1px solid #ccd6df!important}.danger{color:#a52424!important}
input,select,textarea{width:100%;background:#fff!important;color:var(--cv-text)!important;border:1px solid #d9e0e6!important;border-radius:9px!important;min-height:42px;padding:9px 11px!important;outline:none!important}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#4c8db8!important;box-shadow:0 0 0 3px rgba(7,91,143,.12)!important}label{color:#263444}.stack{display:grid;gap:12px}.form-grid{gap:14px!important}.chip,.badge{border-radius:999px!important}.badge-verified{background:#e9f7ef!important;color:#187443!important}.meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--cv-muted)}

/* Catalog / activities. */
body[data-page="catalog"]{background:#fff}body[data-page="catalog"] #main-content>.section.container{padding:22px 0 48px!important}.catalog-layout{display:grid!important;grid-template-columns:205px minmax(0,1fr)!important;gap:26px!important}.catalog-layout>.filter-panel{padding:14px!important;align-self:start!important;position:sticky!important;top:12px!important}.filter-panel label{font-size:11px!important;font-weight:760!important}.filter-actions{display:grid!important;gap:7px!important}.result-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:42px!important;margin-bottom:12px!important}.result-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.activity-item{position:relative!important;display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important;background:#fff!important;border:1px solid var(--cv-line)!important;border-radius:11px!important;box-shadow:0 7px 21px rgba(7,35,55,.07)!important}.activity-item>.media-placeholder{height:175px!important;min-height:175px!important;padding:0!important;border:0!important;border-radius:0!important;background:#edf2f5!important;overflow:hidden!important}.activity-item>.media-placeholder a,.activity-item>.media-placeholder img{display:block!important;width:100%!important;height:100%!important}.activity-item>.media-placeholder img{object-fit:cover!important}.activity-item>div:nth-child(2){padding:11px 13px 14px!important;flex:1!important}.activity-item h3{font-size:16px!important;margin:4px 0!important}.activity-item h3 a{text-decoration:none}.activity-item p{font-size:12px!important;line-height:1.42!important;color:#465464!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.activity-item>.button{margin:0 13px 13px!important;align-self:flex-start!important;min-height:32px!important;font-size:11px!important;padding:5px 10px!important}.activity-item .meta-row{font-size:10px!important}.activity-item .cv-heart{top:10px!important;right:10px!important}

/* Map. */
body[data-page="map"] #main-content>.section.container{padding:14px 0 34px!important}.map-layout{display:grid!important;grid-template-columns:310px minmax(0,1fr)!important;gap:0!important;min-height:610px!important;border:1px solid var(--cv-line)!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important;box-shadow:var(--cv-shadow)!important}.map-layout>aside{grid-column:1!important;grid-row:1!important;padding:12px!important;border-right:1px solid var(--cv-line)!important;background:#fff!important;overflow:auto!important}.map-layout>section{grid-column:2!important;grid-row:1!important;min-width:0!important}.map-layout .filter-panel{box-shadow:none!important;border:0!important;padding:0!important}.map-layout #map-results{display:grid!important;gap:8px!important;max-height:480px!important;overflow:auto!important}.map-layout #map-results .card{padding:10px!important;box-shadow:none!important}.map-layout #map-results h3{font-size:13px;margin:3px 0}.map-layout #map-results p{font-size:10px;line-height:1.35}.leaflet-container{height:570px!important;min-height:570px!important}.cv-cluster{background:var(--cv-gold)!important;color:#173047!important}

/* Blog and article pages. */
body[data-page="blog"] .article-hero{width:100%!important;max-width:none!important;min-height:190px!important;padding:40px max(5vw,72px)!important;color:#fff!important;background:linear-gradient(90deg,rgba(0,42,74,.91),rgba(0,42,74,.28)),url('https://images.unsplash.com/photo-1533105079780-92b9be482077?auto=format&fit=crop&w=2200&q=90') center 54%/cover no-repeat!important}.article-hero h1{color:inherit!important}.blog-card{overflow:hidden!important;border:1px solid var(--cv-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:0 6px 20px rgba(3,37,63,.07)!important}.blog-card .body{padding:10px 11px 11px!important}.blog-media img{width:100%!important;height:100%!important;object-fit:cover!important}.card-grid{gap:14px!important}body[data-page="blog"] #blog-list.card-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}body[data-page="blog"] .blog-media{height:138px!important;min-height:138px!important;aspect-ratio:auto!important;padding:0!important}body[data-page="blog"] .blog-card h3{font-size:14px!important;line-height:1.25!important;margin:4px 0 5px!important}body[data-page="blog"] .blog-card .body>p:not(.eyebrow){font-size:11px!important;line-height:1.42!important;margin:0 0 8px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}body[data-page="blog"] .blog-card .eyebrow{font-size:9px!important;margin:0!important}body[data-page="blog"] .blog-card .text-link{font-size:11px!important;font-weight:800!important}

/* Business/tourism detail. */
body[data-page="activities"] #main-content{background:#f7f9fb}.cv-tourism-detail{padding:26px 0 54px!important}.cv-tourism-hero{border-radius:16px!important}.cv-tourism-grid{gap:22px!important}.cv-tourism-card{border-radius:12px!important;box-shadow:var(--cv-shadow)!important}.business-google-map,.google-map-frame{border-radius:12px!important;overflow:hidden!important}.split{gap:26px!important}.split>aside{align-self:start!important;position:sticky!important;top:16px!important}.media-placeholder img{width:100%;height:100%;object-fit:cover}.cv-tourism-credit{position:absolute;z-index:3;right:14px;bottom:12px;max-width:min(480px,80%);margin:0;padding:5px 8px;border-radius:7px;background:rgba(0,26,45,.72);color:#fff;font-size:9px;line-height:1.3}.cv-tourism-credit a{color:#fff;text-decoration:underline}

/* Review stars: accessible 1–5 selector and display. */
.cv-star-rating{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}.cv-star-rating input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.cv-star-rating label{font-size:31px;line-height:1;color:#c8d0d8;cursor:pointer;padding:0 2px}.cv-star-rating label:hover,.cv-star-rating label:hover~label,.cv-star-rating input:checked~label{color:var(--cv-gold)}.cv-star-rating input:focus-visible+label{outline:2px solid #0b70b1;outline-offset:3px;border-radius:4px}.cv-stars{display:inline-flex;gap:1px;color:var(--cv-gold);letter-spacing:1px;font-size:15px}.cv-stars .is-empty{color:#cbd2d9}.cv-review-card{margin-bottom:10px!important}.cv-review-card .meta-row{justify-content:space-between}

/* About page: same visual language as the home page, rendered statically. */
body[data-page="about"]{background:#fff}.cv-about-page{background:#fff}.cv-about-hero{position:relative;min-height:430px;display:flex;align-items:center;color:#fff;background:url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=2200&q=88') center 52%/cover no-repeat;overflow:hidden}.cv-about-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,38,66,.94),rgba(0,49,84,.68) 52%,rgba(0,49,84,.2))}.cv-about-hero__content{position:relative;z-index:2;padding-block:62px;max-width:1400px}.cv-about-kicker{color:var(--cv-gold);font-weight:900;font-size:12px;letter-spacing:.08em;margin:0 0 10px}.cv-about-hero h1{max-width:780px;margin:0;color:#fff;font-size:clamp(38px,5vw,67px);line-height:1.02;letter-spacing:-.035em}.cv-about-hero__content>p:not(.cv-about-kicker){max-width:720px;font-size:17px;line-height:1.62;color:#eef7fb}.cv-about-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.cv-about-actions .cv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:9px;text-decoration:none;font-size:12px;font-weight:850}.cv-about-actions .cv-btn--gold{background:var(--cv-gold);color:#102c42}.cv-about-actions .cv-btn--ghost{border:1px solid rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.06)}.cv-about-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start;padding-block:64px}.cv-about-intro h2{font-size:clamp(28px,3.4vw,45px);line-height:1.08;margin:7px 0 0;letter-spacing:-.025em}.cv-about-intro>p{font-size:16px;line-height:1.75;color:#52606e;margin:2px 0}.cv-about-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-bottom:64px}.cv-about-card{border:1px solid var(--cv-line);border-radius:12px;padding:22px;background:#fff;box-shadow:0 7px 22px rgba(7,35,55,.055)}.cv-about-card>span{display:block;color:var(--cv-gold);font-weight:950;font-size:13px;margin-bottom:22px}.cv-about-card h3{font-size:17px;margin:0 0 8px}.cv-about-card p{font-size:12px;line-height:1.55;color:#596674;margin:0}.cv-about-owner{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:center;padding:36px;border-radius:18px;background:linear-gradient(110deg,#002d50,#064c78);color:#fff;margin-bottom:64px}.cv-about-owner__mark{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:var(--cv-gold);font-size:52px;font-weight:950;letter-spacing:-.05em}.cv-about-owner .eyebrow{color:var(--cv-gold)!important}.cv-about-owner h2{color:#fff;font-size:34px;margin:4px 0}.cv-about-owner__place{font-weight:800;color:#d8edf8!important;margin:0 0 15px!important}.cv-about-owner p{max-width:900px;color:#eef5f8;line-height:1.62}.cv-about-how{padding-bottom:65px}.cv-about-how__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cv-about-how__grid>div{padding:20px 0;border-top:3px solid var(--cv-navy)}.cv-about-how__grid b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--cv-gold);color:#173047;font-size:11px}.cv-about-how__grid h3{font-size:16px;margin:14px 0 5px}.cv-about-how__grid p{font-size:12px;line-height:1.55;color:#5e6c79;margin:0}.cv-about-contact{background:#f4f7f9;padding:58px 0 64px}.cv-about-contact__intro{max-width:760px;margin-bottom:28px}.cv-about-contact__intro>span{color:#0870b0;font-size:11px;font-weight:900;letter-spacing:.06em}.cv-about-contact__intro h2{font-size:clamp(30px,3.8vw,48px);margin:5px 0 8px}.cv-about-contact__intro p{color:#5b6875;line-height:1.6}.cv-about-contact__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cv-about-contact__grid>a{display:flex;flex-direction:column;min-height:128px;padding:16px;border:1px solid #dfe6eb;border-radius:11px;background:#fff;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.cv-about-contact__grid>a:hover{transform:translateY(-2px);box-shadow:var(--cv-shadow)}.cv-about-contact__grid small{color:#75818d;font-weight:800;text-transform:uppercase;font-size:9px;letter-spacing:.04em}.cv-about-contact__grid strong{font-size:14px;margin:7px 0;word-break:break-word}.cv-about-contact__grid span{margin-top:auto;color:#075b8f;font-size:11px;font-weight:850}

/* User/private pages. */
body[data-page="dashboard"],body[data-page="favorites"],body[data-page="messages"],body[data-page="profile"],body[data-page="addBusiness"],body[data-page="login"],body[data-page="register"]{background:#f7f9fb}.dashboard-root,.messages-layout,#favorites-root,#profile-root,#add-business-root,#auth-root{max-width:1180px;margin-inline:auto}.stat-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.stat{padding:16px!important}.stat strong{font-size:26px!important;color:var(--cv-navy)!important}.messages-layout{gap:14px!important}.message{border-radius:10px!important}.message.mine{background:#e9f4fb!important}.contact-card{height:100%}

/* Admin: consistent screenshot-like shell on all admin routes. */
body[data-page^="admin-"]{background:#f7f9fb!important}body[data-page^="admin-"] #site-footer{display:none!important}body[data-page^="admin-"] #main-content>.section.container{width:100%!important;max-width:none!important;padding:0!important}.admin-layout{display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;gap:0!important;min-height:calc(100vh - 58px)!important}.admin-layout>aside{position:relative!important;top:auto!important;background:linear-gradient(180deg,#00365d,#002d50)!important;color:#fff!important;border:0!important;border-radius:0!important;padding:15px 10px!important;box-shadow:none!important}.admin-layout>aside .button{justify-content:flex-start!important;width:100%!important;background:transparent!important;color:#fff!important;border:0!important;box-shadow:none!important;min-height:39px!important;font-size:12px!important}.admin-layout>aside .button-primary,.admin-layout>aside .button[aria-current="page"]{background:rgba(255,255,255,.14)!important}.admin-layout>section{padding:24px 30px!important;background:#f7f9fb!important;min-width:0!important}.admin-layout .card,.admin-layout .table-wrap{box-shadow:0 4px 16px rgba(5,33,51,.05)!important}.admin-layout table{width:100%;border-collapse:collapse}.admin-layout th,.admin-layout td{padding:10px 12px;border-bottom:1px solid var(--cv-line);font-size:12px;text-align:left}.admin-layout th{color:#647282;font-weight:780;background:#fafbfc}.admin-layout .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}

/* Footer. */
.footer{background:#052f50!important;color:#eaf3f9!important;margin-top:0!important}.footer a{color:#eaf3f9!important}.footer-logo{max-width:190px!important}.whatsapp-float{display:grid!important;place-items:center!important;background:#20b85a!important;color:#fff!important;font-weight:900!important;text-decoration:none!important}

@media(max-width:1180px){.cv-header .primary-nav{gap:13px!important}.cv-header .primary-nav>a{font-size:11px!important}.result-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.catalog-layout{grid-template-columns:190px minmax(0,1fr)!important}body[data-page="blog"] #blog-list.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cv-about-values,.cv-about-how__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-about-contact__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.cv-header .primary-nav{display:none!important}.cv-header .menu-button{display:inline-flex!important}.catalog-layout{grid-template-columns:1fr!important}.catalog-layout>.filter-panel{position:relative!important;top:auto!important}.map-layout{grid-template-columns:1fr!important}.map-layout>aside{grid-column:1!important;grid-row:1!important;border-right:0!important;border-bottom:1px solid var(--cv-line)!important}.map-layout>section{grid-column:1!important;grid-row:2!important}.admin-layout{grid-template-columns:1fr!important}.admin-layout>aside{display:flex!important;gap:6px!important;overflow:auto!important}.admin-layout>aside .button{width:auto!important;white-space:nowrap!important}.admin-layout>section{padding:20px!important}.stat-grid,.admin-layout .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.split{grid-template-columns:1fr!important}.split>aside{position:relative!important;top:auto!important}body[data-page="blog"] #blog-list.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cv-about-intro{grid-template-columns:1fr;gap:20px}.cv-about-owner{grid-template-columns:150px minmax(0,1fr);gap:24px}.cv-about-owner__mark{width:130px;height:130px;font-size:42px}}
@media(max-width:680px){.container,.section.container,.cv-header .header-inner{width:calc(100% - 24px)!important}.cv-header .brand-logo{width:150px!important}.result-list{grid-template-columns:1fr!important}.stat-grid,.admin-layout .stat-grid{grid-template-columns:1fr!important}.section-heading{align-items:flex-start;flex-direction:column}.admin-layout>section{padding:16px 12px!important}.cv-tourism-hero__body{padding:32px 22px!important}.cv-star-rating label{font-size:28px}.leaflet-container{height:480px!important;min-height:480px!important}body[data-page="blog"] #blog-list.card-grid{grid-template-columns:1fr!important}.cv-about-hero{min-height:390px}.cv-about-hero__content{padding-block:44px}.cv-about-values,.cv-about-how__grid,.cv-about-contact__grid{grid-template-columns:1fr}.cv-about-owner{grid-template-columns:1fr;padding:24px}.cv-about-owner__mark{width:88px;height:88px;font-size:30px}.cv-about-intro{padding-block:44px}.cv-about-values{padding-bottom:44px}}
