/*
Theme Name: Vicando Future
Theme URI: https://www.vicando.se/
Author: Ingvar Willexberg
Description: Ett fristående modernt blocktema med fullständig webbplatsredigering, flexibla sidfötter och Vicandos avancerade webbplatsfunktioner.
Version: 143
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vicando-future
Domain Path: /languages
Tags: full-site-editing, block-patterns, block-styles, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

:root {
  --vc-bg: #f6f7f9;
  --vc-surface: #ffffff;
  --vc-text: #1d2430;
  --vc-muted: #667085;
  --vc-border: #e4e7ec;
  --vc-accent: #dd3333;
  --vc-topbar: #000000;
  --vc-topbar-hover: #b51f1f;
  --vc-topbar-image: none;
  --vc-jumbo-color: #111827;
  --vc-jumbo-image: none;
  --vc-jumbo-height: 300px;
  --vc-jumbo-button-glass: rgba(221,51,51,.55);
  --vc-jumbo-button-glass-hover: rgba(181,31,31,.75);
  --vc-main-menu-bar: #ffffff;
  --vc-main-menu-text: #1d2430;
  --vc-main-menu-button: #dd3333;
  --vc-main-menu-hover: #dd3333;
  --vc-live-menu-hover: var(--vc-main-menu-hover);
  --vc-main-menu-dropdown: #ffffff;
  --vc-main-menu-dropdown-text: #1d2430;
  --vc-main-menu-burger: #dd3333;
  --vc-main-menu-burger-text: #ffffff;
  --vc-main-menu-justify: flex-start;
  --vc-accent-hover: #b51f1f;
  --vc-radius: 18px;
  --vc-shadow: 0 12px 35px rgba(16, 24, 40, 0.08);
  --vc-container: 1300px;
  --vc-footer-panel-bg: var(--vc-surface);
}

/* Beta 91: compact member grid. */
.member-directory-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.member-directory-item { grid-template-columns: 64px minmax(0,1fr); padding: 16px; }
.member-directory-more { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid var(--vc-border); }
@media (max-width: 900px) { .member-directory-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .member-directory-list { grid-template-columns: 1fr; } .member-directory-more { grid-column: 1 / -1; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--vc-bg);
  color: var(--vc-text);
  font-family: var(--vc-body-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
  line-height: 1.65;
}
body.vicando-color-dark {
  --vc-bg: #0f1115;
  --vc-surface: #191c22;
  --vc-text: #f3f4f6;
  --vc-muted: #b7bdc8;
  --vc-border: #343943;
  --vc-shadow: 0 12px 35px rgba(0,0,0,.28);
  color-scheme: dark;
  --vc-footer-panel-bg: #191c22;
}
body.vicando-color-light {
  --vc-main-menu-bar: #ffffff;
  --vc-main-menu-surface: rgba(255,255,255,.96);
  --vc-main-menu-text: #1d2430;
  --vc-main-menu-dropdown: #ffffff;
  --vc-main-menu-dropdown-surface: rgba(255,255,255,.98);
  --vc-main-menu-dropdown-text: #1d2430;
  --vc-main-menu-burger: var(--vc-accent);
  --vc-main-menu-burger-text: #ffffff;
  --vc-footer-bg: #f4f5f7;
  --vc-footer-widgets-bg: #ffffff;
  --vc-footer-panel-bg: #ffffff;
  color-scheme: light;
}
body.vicando-color-dark input,
body.vicando-color-dark textarea,
body.vicando-color-dark select { color: var(--vc-text); background: #12151a; border-color: var(--vc-border); }
body.vicando-color-dark .page-numbers { color: var(--vc-text); background: var(--vc-surface); }
body.vicando-color-dark .card { box-shadow: 0 6px 22px rgba(0,0,0,.24); }

/* Block themes must leave WordPress' native body structure untouched. */
body > .wp-site-blocks { display: block; }
.site-wrap > .topbar:first-child { display: block !important; }
img { max-width: 100%; height: auto; display: block; }
.custom-logo-theme-dark { display: none !important; }
body.vicando-color-dark .custom-logo-theme-light { display: none !important; }
body.vicando-color-dark .custom-logo-theme-dark { display: block !important; }
body.vicando-color-light .custom-logo-theme-light { display: block !important; }
body.vicando-color-light .custom-logo-theme-dark { display: none !important; }
a { color: var(--vc-accent); text-decoration: none; }
a:hover { color: var(--vc-accent-hover); }

.site-wrap { min-height: 100vh; display: flex; flex-direction: column; }
.site-main { flex: 1; }
.wp-site-blocks { min-height: 100vh; }
.wp-site-blocks > main { min-height: 50vh; }
.visitor-controls-block { position: relative; z-index: 20; display: flex; align-items: center; margin-left: auto; }
.visitor-controls-block .visitor-theme-toggle,
.visitor-controls-block .visitor-settings-toggle { width: 48px; min-height: 48px; color: currentColor; }
.vicando-footer-full > .vicando-footer-fixed,
.vicando-footer-full > .vicando-footer-information { max-width: none !important; margin-right: auto !important; margin-left: auto !important; box-sizing: border-box; }
.vicando-layout-fixed .vicando-footer-full > .vicando-footer-fixed,
.vicando-layout-fixed .vicando-footer-full > .vicando-footer-information { width: min(calc(100% - 32px), var(--vc-container)) !important; }
.vicando-layout-full .vicando-footer-full > .vicando-footer-fixed,
.vicando-layout-full .vicando-footer-full > .vicando-footer-information { width: 100% !important; }
.vicando-footer-fixed { border: 1px solid var(--vc-border); border-radius: var(--vc-radius); box-shadow: var(--vc-shadow); }
.vicando-footer-fixed > .wp-block-columns { width: 100%; max-width: none !important; display: flex; align-items: stretch; gap: 0 !important; margin: 0; }
.vicando-footer-fixed > .wp-block-columns > .wp-block-column { width: 0; min-width: 0; flex: 1 1 0; display: flex; }
.vicando-footer-area { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: flex-start; text-align: left; border: 0 !important; border-radius: 0; box-shadow: none; }
.vicando-footer-area > * { width: 100%; }
.vicando-footer-area h2:first-child { margin: 0 0 18px; font-size: clamp(1.25rem,2vw,1.5rem) !important; font-weight: 700; line-height: 1.2; letter-spacing: normal; }
.vicando-footer-area-1 .wp-block-site-logo { margin-right: auto; margin-left: 0; text-align: left; }
.vicando-footer-area-1 .custom-logo-link { justify-content: flex-start; }
.vicando-footer-area .wp-block-navigation-item__content { color: inherit; }
.vicando-footer-full { background-color: var(--vc-footer-widgets-bg) !important; background-image: var(--vc-footer-widgets-image) !important; background-position: center; background-size: cover; }
.vicando-footer-full.alignfull { width: 100%; max-width: none; margin-right: 0; margin-left: 0; }
.vicando-footer-fixed { background-color: var(--vc-footer-widgets-inner-bg) !important; background-image: var(--vc-footer-widgets-inner-image) !important; background-position: center; background-size: cover; }
.vicando-footer-area-1 { color: var(--vc-footer-column-1-text, var(--vc-text)); background-color: var(--vc-footer-column-1-bg) !important; background-image: var(--vc-footer-column-1-image) !important; background-position: center; background-size: cover; }
.vicando-footer-area-2 { color: var(--vc-footer-column-2-text, var(--vc-text)); background-color: var(--vc-footer-column-2-bg) !important; background-image: var(--vc-footer-column-2-image) !important; background-position: center; background-size: cover; }
.vicando-footer-area-3 { color: var(--vc-footer-column-3-text, var(--vc-text)); background-color: var(--vc-footer-column-3-bg) !important; background-image: var(--vc-footer-column-3-image) !important; background-position: center; background-size: cover; }
.vicando-footer-area-1 a { color: var(--vc-footer-column-1-link); }
.vicando-footer-area-2 a { color: var(--vc-footer-column-2-link); }
.vicando-footer-area-3 a { color: var(--vc-footer-column-3-link); }
body.vicando-color-dark:not(.vicando-footer-column-1-custom-bg) .vicando-footer-area-1,
body.vicando-color-dark:not(.vicando-footer-column-2-custom-bg) .vicando-footer-area-2,
body.vicando-color-dark:not(.vicando-footer-column-3-custom-bg) .vicando-footer-area-3 { background-color: #191c22 !important; background-image: none !important; }
body.vicando-color-light:not(.vicando-footer-column-1-custom-bg) .vicando-footer-area-1,
body.vicando-color-light:not(.vicando-footer-column-2-custom-bg) .vicando-footer-area-2,
body.vicando-color-light:not(.vicando-footer-column-3-custom-bg) .vicando-footer-area-3 { background-color: #ffffff !important; background-image: none !important; }
body.vicando-color-dark:not(.vicando-footer-column-1-custom-color) .vicando-footer-area-1,
body.vicando-color-dark:not(.vicando-footer-column-2-custom-color) .vicando-footer-area-2,
body.vicando-color-dark:not(.vicando-footer-column-3-custom-color) .vicando-footer-area-3 { color: #f3f4f6 !important; }
body.vicando-color-light:not(.vicando-footer-column-1-custom-color) .vicando-footer-area-1,
body.vicando-color-light:not(.vicando-footer-column-2-custom-color) .vicando-footer-area-2,
body.vicando-color-light:not(.vicando-footer-column-3-custom-color) .vicando-footer-area-3 { color: #1d2430 !important; }
body:not(.vicando-footer-column-1-custom-color) .vicando-footer-area-1 :where(h1,h2,h3,h4,h5,h6,p,li,address,small,figcaption),
body:not(.vicando-footer-column-2-custom-color) .vicando-footer-area-2 :where(h1,h2,h3,h4,h5,h6,p,li,address,small,figcaption),
body:not(.vicando-footer-column-3-custom-color) .vicando-footer-area-3 :where(h1,h2,h3,h4,h5,h6,p,li,address,small,figcaption) { color: inherit !important; }
.vicando-footer-area :where(h1,h2,h3,h4,h5,h6,p,li,address,small,figcaption):not(.has-text-color) { color: inherit !important; }
body.vicando-color-light .wp-site-blocks { background: #f6f7f9; color: #1d2430; }
body.vicando-color-dark .wp-site-blocks { background: #090d15; color: #f4f6f8; }
.container { width: 100%; margin-inline: auto; padding-inline: 16px; }
.vicando-layout-fixed .container { width: min(calc(100% - 32px), var(--vc-container)); padding-inline: 0; }

.topbar { order: -1000; position: relative; z-index: 3000; width: 100%; background-color: var(--vc-topbar) !important; background-image: var(--vc-topbar-image) !important; background-position: center; background-size: cover; background-repeat: no-repeat; color: #fff; }
.topbar-inner { position: relative; min-height: 42px; padding-block: 6px; }
.topbar-content { min-height: 30px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 20px; padding-right: 42px; }
.member-account { position: absolute; z-index: 3200; top: 4px; right: 0; }
.member-account-toggle { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; color: #fff; background: transparent; border: 0; border-radius: 0; cursor: pointer; }
.member-account-toggle svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.member-account-toggle:hover, .member-account-toggle:focus { color: var(--vc-topbar-hover); background: transparent; }
.member-account-panel { position: absolute; z-index: 3300; top: calc(100% + 8px); right: 0; width: min(340px, calc(100vw - 24px)); padding: 18px; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); box-shadow: 0 18px 46px rgba(0,0,0,.5); opacity: 0; visibility: hidden; transform: translateY(7px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.member-account.is-open .member-account-panel { opacity: 1; visibility: visible; transform: translateY(0); }
.member-login-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; font-size: 1.2rem; }
.member-account-close { width: 34px; height: 34px; padding: 0; color: var(--vc-text); background: transparent; border: 0; font-size: 1.8rem; cursor: pointer; }
.member-account-panel form p { margin: 0 0 13px; }
.member-account-panel form label { display: block; font-size: .88rem; font-weight: 650; }
.member-account-panel form input[type="text"], .member-account-panel form input[type="password"] { width: 100%; min-height: 43px; margin-top: 5px; padding: 8px 10px; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); border-radius: 0; }
.member-account-panel .login-remember label { display: flex; align-items: center; gap: 7px; font-weight: 500; }
.member-account-panel .button-primary { width: 100%; min-height: 43px; color: #fff; background: var(--vc-accent); border: 0; border-radius: 0; font-weight: 700; cursor: pointer; }
.member-login-links { display: flex; justify-content: space-between; gap: 14px; font-size: .84rem; }
.topbar .member-login-links a { color: var(--vc-accent); }
.topbar .member-registration-link, .member-registration-link { min-height: 44px; display: flex; align-items: center; justify-content: center; margin-top: 16px; padding: 9px 14px; color: #fff; background: var(--vc-accent); font-weight: 750; text-align: center; }
.topbar .member-registration-link:hover, .topbar .member-registration-link:focus { color: #fff; background: var(--vc-accent-hover); }
.member-account-summary { display: flex; align-items: center; gap: 12px; padding-bottom: 15px; margin-bottom: 6px; border-bottom: 1px solid var(--vc-border); }
.member-account-summary img { width: 48px; height: 48px; border-radius: 50%; }
.member-account-summary span, .member-account-summary small { min-width: 0; display: block; }
.member-account-summary small { margin-top: 2px; color: var(--vc-muted); overflow-wrap: anywhere; }
.member-account-summary a { color: inherit; }
.member-account-summary a:hover, .member-account-summary a:focus { color: var(--vc-accent); }
.member-account-panel nav > a, .topbar .member-extra-menu a { display: block; padding: 10px 8px; color: var(--vc-text); border-bottom: 1px solid var(--vc-border); }
.member-extra-menu { margin: 0; padding: 0; list-style: none; }
.member-extra-menu li { margin: 0; }
.member-account-panel nav a:hover, .member-account-panel nav a:focus { color: #fff; background: var(--vc-accent); }
.member-page-card { padding: clamp(20px,4vw,38px); background: color-mix(in srgb,var(--vc-surface) 92%,var(--vc-text)); border: 1px solid var(--vc-border); }
.member-profile-summary { display: flex; align-items: center; gap: 18px; margin-bottom: 26px; }
.member-profile-summary img { border-radius: 50%; }
.member-page-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
body.vicando-member-open { overflow: hidden; }
.member-login-overlay { position: fixed; z-index: 100000; inset: 0; display: flex; align-items: center; justify-content: center; padding: 14px; background: rgba(3,5,9,.82); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); opacity: 0; visibility: hidden; pointer-events: none; }
.member-login-overlay:target, .member-login-overlay.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.member-login-overlay .member-login-panel { position: relative; top: auto; right: auto; width: min(410px,100%); padding: clamp(22px,4vw,32px); color: #f5f7fa; background: rgba(20,24,32,.94); border-color: rgba(255,255,255,.22); box-shadow: 0 24px 70px rgba(0,0,0,.55); opacity: 1; visibility: visible; transform: none; transition: none; }
.member-login-overlay .member-account-close { display: grid; place-items: center; color: #f5f7fa; text-decoration: none; }
.member-login-overlay form input[type="text"],
.member-login-overlay form input[type="password"] { color: #111827; background: rgba(255,255,255,.96); border-color: rgba(255,255,255,.45); }
.member-login-overlay .member-login-links a { color: #fff; }
.member-login-form-slot > p { margin: 0 0 14px; color: rgba(255,255,255,.8); }
.member-login-form-slot.is-loading { min-height: 150px; display: grid; place-items: center; }
.member-details-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.member-details-form .member-field-wide { grid-column: 1 / -1; }
.member-details-form label { display: block; font-weight: 650; }
.member-details-form input, .member-details-form textarea { width: 100%; min-height: 44px; margin-top: 5px; padding: 9px 11px; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); border-radius: 0; font: inherit; }
.member-details-form input[type="file"] { padding: 7px; }
.member-details-form textarea { min-height: 130px; resize: vertical; }
.member-details-form .member-presentation-visibility label { display: flex; align-items: center; gap: 8px; }
.member-details-form .member-presentation-visibility input { flex: 0 0 auto; width: auto; min-height: 0; margin: 0; padding: 0; }
.member-details-form small { display: block; margin-top: 5px; color: var(--vc-muted); }
.member-profile-image-field { display: grid; grid-template-columns: 88px minmax(0,1fr); align-items: center; gap: 8px 18px; }
.member-profile-image-field img { width: 88px; height: 88px; grid-row: 1 / span 2; object-fit: cover; border-radius: 50%; }
.member-profile-image-field small { color: var(--vc-muted); }
.member-form-notice { padding: 12px 15px; margin-bottom: 20px; border-left: 4px solid var(--vc-accent); background: color-mix(in srgb,var(--vc-accent) 10%,var(--vc-surface)); }
.member-registration-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.7fr); gap: clamp(22px,4vw,48px); align-items: start; }
.member-registration-copy .entry-content > :first-child { margin-top: 0; }
.member-registration-benefits { margin: 22px 0 0; padding: 0; list-style: none; }
.member-registration-benefits li { position: relative; padding: 8px 0 8px 27px; }
.member-registration-benefits li::before { content: '✓'; position: absolute; left: 0; color: var(--vc-accent); font-weight: 800; }
.member-registration-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.member-registration-form p { margin: 0; }
.member-registration-form .member-field-wide { grid-column: 1 / -1; }
.member-registration-form label { display: block; font-weight: 650; }
.member-registration-form input { width: 100%; min-height: 44px; margin-top: 5px; padding: 9px 11px; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); border-radius: 0; }
.member-registration-form .button { width: 100%; min-height: 46px; }
.member-registration-login { margin: 16px 0 0; text-align: center; }
.vicando-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 760px) { .member-registration-intro, .member-registration-form { grid-template-columns: 1fr; } .member-registration-form .member-field-wide { grid-column: auto; } }
.vicando-online-members ul { margin: 0; padding: 0; list-style: none; }
.vicando-current-member { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 13px; padding-bottom: 16px; }
.vicando-current-member > img { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; }
.vicando-current-member span, .vicando-current-member strong, .vicando-current-member small { min-width: 0; display: block; }
.vicando-current-member strong { overflow-wrap: anywhere; }
.vicando-current-member small { margin-top: 5px; color: var(--vc-muted); }
.vicando-current-member small i { width: 8px; height: 8px; display: inline-block; margin-right: 7px; background: #298a40; border-radius: 50%; box-shadow: 0 0 0 3px color-mix(in srgb,#298a40 20%,transparent); }
.vicando-online-members h3 { margin: 0 0 8px; padding-top: 14px; border-top: 1px solid var(--vc-border); font-size: .92rem; }
.vicando-online-members li { display: grid; grid-template-columns: 34px minmax(0,1fr) 9px; align-items: center; gap: 10px; padding: 8px 0; margin: 0; border-bottom: 1px solid var(--vc-border); }
.vicando-online-members li:last-child { border-bottom: 0; }
.vicando-online-members img { width: 34px; height: 34px; object-fit: cover; border-radius: 50%; }
.vicando-online-members i { width: 9px; height: 9px; background: #298a40; border-radius: 50%; box-shadow: 0 0 0 3px color-mix(in srgb,#298a40 20%,transparent); }
.vicando-online-members a { color: inherit; }
.vicando-online-members a:hover, .vicando-online-members a:focus { color: var(--vc-accent); }
.vicando-unread-chat { margin: 0 0 15px; padding: 10px 12px; color: #fff; background: var(--vc-accent); }
.vicando-unread-chat > strong { display: flex; align-items: center; gap: 8px; font-size: .86rem; }
.vicando-unread-chat > strong span { font-size: 1.1rem; }
.vicando-unread-chat ul { margin-top: 8px; border-top: 1px solid rgba(255,255,255,.28); }
.vicando-unread-chat li { display: block; padding: 0; border-bottom-color: rgba(255,255,255,.2); }
.vicando-unread-chat li a { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 7px 0; color: #fff !important; }
.vicando-unread-chat li img { width: 28px; height: 28px; }
.vicando-unread-chat li b { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; color: var(--vc-accent); background: #fff; border-radius: 50%; font-size: .72rem; }
.member-gallery-manager { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--vc-border); }
.member-payment-status { margin: 0 0 26px; padding: 18px; background: var(--vc-bg); border: 1px solid var(--vc-border); }
.membership-panel-status-unpaid, .membership-panel-status-expired { background: rgba(231,18,16,.18); border-color: #e71210; }
.membership-panel-status-pending { background: rgba(167,56,1,.18); border-color: #a73801; }
.membership-panel-status-paid, .membership-panel-status-exempt { background: rgba(41,138,64,.16); border-color: #298a40; }
.member-payment-status h2 { margin-top: 0; }
.member-payment-status dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 24px; margin: 0; }
.member-payment-status dl > div { min-width: 0; }
.member-payment-status dt { color: var(--vc-muted); font-size: .82rem; }
.member-payment-status dd { margin: 3px 0 0; }
.membership-status-paid, .membership-status-exempt { color: #298a40; }
.membership-status-pending { color: #a73801; }
.membership-status-unpaid, .membership-status-expired { color: #e71210; }
body.vicando-color-dark .membership-status-paid, body.vicando-color-dark .membership-status-exempt { color: #6bd485; }
body.vicando-color-dark .membership-status-pending { color: #ffad66; }
body.vicando-color-dark .membership-status-unpaid, body.vicando-color-dark .membership-status-expired { color: #ff7471; }
.member-gallery-manager-grid, .member-public-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.member-gallery-manager-item { padding: 10px; background: var(--vc-bg); border: 1px solid var(--vc-border); }
.member-gallery-manager-item > img, .member-public-gallery-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.member-gallery-manager-item form { margin-top: 9px; }
.member-gallery-manager-item .button { width: 100%; }
.member-gallery-manager-item form .button + .button { margin-top: 7px; }
.member-gallery-image-visibility { display: flex; align-items: center; gap: 7px; margin-bottom: 9px; font-size: .88rem; font-weight: 700; }
.member-gallery-upload { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; margin-top: 18px; }
.member-gallery-upload label, .member-gallery-upload small { display: block; }
.member-gallery-upload input { width: 100%; display: block; margin-top: 5px; padding: 8px; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); }
.member-gallery-upload small { grid-column: 1 / -1; color: var(--vc-muted); }
.member-gallery-upload .member-gallery-upload-visibility { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; }
.member-gallery-upload .member-gallery-upload-visibility input { width: auto; margin: 0; padding: 0; }
.member-gallery-visibility { margin-top: 20px; padding: 16px; background: color-mix(in srgb,var(--vc-accent) 7%,var(--vc-bg)); border: 1px solid var(--vc-border); }
.member-gallery-visibility label { display: flex; align-items: flex-start; gap: 9px; font-weight: 700; }
.member-gallery-visibility input { flex: 0 0 auto; margin-top: 4px; }
.member-gallery-visibility p { margin: 8px 0 14px 25px; color: var(--vc-muted); font-size: .9rem; }
.member-gallery-public-disabled { margin-top: 20px; padding: 14px; color: var(--vc-muted); background: var(--vc-bg); border: 1px solid var(--vc-border); }
.member-public-gallery { margin-bottom: clamp(24px,4vw,42px); padding: clamp(18px,3vw,28px); background: var(--vc-surface); border: 1px solid var(--vc-border); }
.member-public-gallery h2 { margin-top: 0; }
.member-profile-posts > h2 { margin: 0 0 18px; }
.member-directory-intro { color: var(--vc-muted); }
.member-community-links, .forum-action-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 20px; font-size: .88rem; }
.member-community-links a, .forum-action-links a { color: var(--vc-accent); text-decoration: underline; text-underline-offset: 4px; }
.member-directory-list { display: grid; gap: 10px; }
.member-directory-item { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 14px; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); }
.member-directory-item:hover, .member-directory-item:focus { color: var(--vc-text); background: color-mix(in srgb,var(--vc-accent) 8%,var(--vc-surface)); border-color: var(--vc-accent); }
.member-directory-item img { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; }
.member-directory-item strong, .member-directory-item small { display: block; }
.member-directory-item small { margin-top: 5px; color: var(--vc-muted); }
.member-directory-item small i { width: 8px; height: 8px; display: inline-block; margin-right: 7px; border-radius: 50%; }
.member-directory-item small.is-online i { background: #298a40; box-shadow: 0 0 0 3px color-mix(in srgb,#298a40 20%,transparent); }
.member-directory-item small.is-offline i { background: #777; }
.member-directory-more { color: var(--vc-accent); font-weight: 700; }
.author-forum-count { margin: 4px 0 0; color: var(--vc-muted); font-size: .9rem; }
.author-forum-stats { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 10px 0 0; padding: 0; list-style: none; color: var(--vc-muted); font-size: .9rem; }
.author-forum-stats li { position: relative; padding-left: 13px; }
.author-forum-stats li::before { content: ''; position: absolute; top: .62em; left: 0; width: 6px; height: 6px; background: var(--vc-accent); border-radius: 50%; }
.member-forum-activity { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.member-forum-activity > section { padding: clamp(18px,3vw,26px); background: var(--vc-surface); border: 1px solid var(--vc-border); }
.member-forum-activity h2 { margin-top: 0; }
.member-forum-activity ul { margin: 0; padding: 0; list-style: none; }
.member-forum-activity li { margin: 0; border-bottom: 1px solid var(--vc-border); }
.member-forum-activity li:last-child { border-bottom: 0; }
.member-forum-activity li a { display: block; padding: 12px 4px; color: var(--vc-text); }
.member-forum-activity li a:hover, .member-forum-activity li a:focus { color: var(--vc-accent); }
.member-forum-activity strong, .member-forum-activity span, .member-forum-activity small { display: block; }
.member-forum-activity span { margin-top: 4px; color: var(--vc-muted); font-size: .9rem; }
.member-forum-activity small { margin-top: 5px; color: var(--vc-muted); }
.member-community-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.member-gallery-photographer-groups { display: grid; gap: 24px; }
.member-gallery-photographer-group { overflow: hidden; background: var(--vc-surface); border: 1px solid var(--vc-border); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.member-gallery-photographer-images { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 14px; }
.member-community-gallery-item { position: relative; min-width: 0; padding: 6px; background: var(--vc-bg); border: 1px solid var(--vc-border); }
.member-community-gallery-item .member-gallery-lightbox { position: relative; inset: auto; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; }
.member-community-gallery-item img { width: 100%; height: 100%; object-fit: cover; }
.member-community-gallery-item .member-gallery-member-link { right: 18px; bottom: 18px; left: 18px; }
.vicando-member-dialog { width: min(540px,calc(100vw - 28px)); height: min(560px,calc(100dvh - 28px)); max-width: 540px; max-height: 560px; box-sizing: border-box; padding: clamp(22px,4vw,34px); overflow: hidden; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); box-shadow: 0 24px 80px rgba(0,0,0,.5); }
.vicando-member-dialog[open] { display: flex; flex-direction: column; }
.vicando-member-dialog::backdrop { background: rgba(5,8,13,.74); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.vicando-member-dialog-close { position: absolute; top: 8px; right: 10px; width: 38px; height: 38px; padding: 0; color: var(--vc-text); background: transparent; border: 0; font-size: 1.8rem; cursor: pointer; }
.vicando-member-dialog-header { display: flex; align-items: center; gap: 16px; padding-right: 30px; }
.vicando-member-dialog-header img { width: 88px; height: 88px; object-fit: cover; border-radius: 50%; }
.vicando-member-dialog-header small { color: var(--vc-muted); }
.vicando-member-dialog-header h2 { margin: 2px 0 0; }
.vicando-member-dialog-presentation { flex: 1 1 auto; min-height: 0; margin: 20px 0; padding: 16px 5px 0 0; overflow-y: auto; border-top: 1px solid var(--vc-border); }
.vicando-member-dialog-presentation > :last-child { margin-bottom: 0; }
.vicando-member-dialog-email, .author-page-email { overflow-wrap: anywhere; }
.vicando-member-dialog-email a, .author-page-email a { color: var(--vc-accent); }
.forum-create, .forum-topics, .forum-topic-full, .forum-replies { margin-bottom: 24px; padding: clamp(18px,3vw,28px); background: var(--vc-surface); border: 1px solid var(--vc-border); }
.forum-create h2, .forum-topics h2, .forum-topic-full h2, .forum-replies h2 { margin-top: 0; }
.forum-form { display: grid; gap: 14px; }
.forum-form label { display: block; font-weight: 700; }
.forum-form input, .forum-form textarea { width: 100%; margin-top: 6px; padding: 10px 12px; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); border-radius: 0; font: inherit; }
.forum-form .button { justify-self: start; }
.forum-topic-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 5px; color: var(--vc-text); border-bottom: 1px solid var(--vc-border); }
.forum-topic-row:last-child { border-bottom: 0; }
.forum-topic-row strong, .forum-topic-row small { display: block; }
.forum-topic-row small, .forum-topic-row b, .forum-meta { margin-top: 4px; color: var(--vc-muted); font-size: .84rem; }
.forum-topic-overview { margin: 0 0 10px; padding: 0 12px 8px; background: var(--vc-bg); border: 1px solid var(--vc-border); box-shadow: 0 3px 10px rgba(0,0,0,.035); }
.forum-topic-overview:last-child { margin-bottom: 0; }
.forum-topic-overview .forum-topic-row { border-bottom: 0; }
.forum-topic-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 11px 2px 7px; }
.forum-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 5px 14px; padding: 11px 0 14px; border-bottom: 1px solid var(--vc-border); font-size: .86rem; }
.forum-toolbar-label { color: var(--vc-text); font-weight: 800; white-space: nowrap; }
.forum-new-thread { flex: 0 0 auto; color: var(--vc-accent); font-size: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.forum-new-thread:hover, .forum-new-thread:focus { color: var(--vc-accent-hover); }
.forum-sort { display: flex; align-items: center; gap: 8px; margin: 0; }
.forum-sort label { color: var(--vc-text); font-size: inherit; font-weight: 700; white-space: nowrap; }
.forum-sort select { min-width: 180px; min-height: 34px; padding: 5px 28px 5px 9px; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); border-radius: 0; font: inherit; }
.forum-total-item { color: var(--vc-muted); font-size: .88rem; white-space: nowrap; }
.forum-total-item strong { color: var(--vc-text); }
.forum-topic-title { min-width: 0; color: var(--vc-text); font-size: 1.02rem; font-weight: 700; text-decoration: none; }
.forum-topic-title:hover, .forum-topic-title:focus { color: var(--vc-accent); }
.forum-topic-reply-count { flex: 0 0 auto; color: var(--vc-muted); font-size: .84rem; }
.forum-topic-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 14px; margin: -3px 2px 4px; color: var(--vc-muted); font-size: .82rem; }
.forum-topic-meta a, .forum-topic-author { color: var(--vc-accent); font-weight: 700; text-decoration: none; }
.forum-topic-author { display: inline; margin: 0; padding: 0; background: transparent; border: 0; font: inherit; cursor: pointer; }
.forum-topic-meta a:hover, .forum-topic-meta a:focus, .forum-topic-author:hover, .forum-topic-author:focus { text-decoration: underline; text-underline-offset: 3px; }
.forum-overview-replies { margin: 0 2px; }
.forum-overview-replies > summary { display: inline-flex; align-items: center; gap: 8px; padding: 5px 0 9px; color: var(--vc-accent); font-size: .84rem; font-weight: 700; cursor: pointer; list-style: none; }
.forum-overview-replies > summary::-webkit-details-marker { display: none; }
.forum-thread-plus { display: inline-grid; place-items: center; width: 22px; height: 22px; color: #fff; background: var(--vc-accent); font-size: 18px; font-weight: 400; line-height: 1; }
.forum-overview-replies[open] .forum-thread-plus { font-size: 0; }
.forum-overview-replies[open] .forum-thread-plus::before { content: '−'; font-size: 18px; }
.forum-overview-thread-list { margin-top: 2px; padding: 2px 14px 5px; background: var(--vc-surface); border: 1px solid var(--vc-border); }
.forum-overview-replies-title { display: block; padding: 9px 0 5px; color: var(--vc-text); font-size: .84rem; }
.forum-overview-thread-list .forum-reply { padding-block: 12px; }
.forum-reply { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--vc-border); }
.forum-reply img { width: 44px; height: 44px; border-radius: 50%; }
.forum-reply strong, .forum-reply small { display: block; }
.forum-reply small { color: var(--vc-muted); font-size: .8rem; }
.forum-replies .forum-form { margin-top: 22px; }
.forum-thread { min-width: 0; }
.forum-child-thread { margin-left: 28px; border-left: 2px solid var(--vc-border); }
.forum-child-thread > summary { padding: 9px 12px; color: var(--vc-accent); font-size: .82rem; cursor: pointer; }
.forum-thread-children { padding-left: 14px; }
.forum-child-tree { margin-top: 0; }
.forum-topic-images { display: grid; grid-template-columns: minmax(0,520px); gap: 12px; margin-top: 20px; }
.forum-topic-image.vicando-slide-lightbox-trigger { position: relative; inset: auto; width: 100%; height: auto; overflow: hidden; border: 1px solid var(--vc-border); }
.forum-topic-image img { display: block; width: 100%; height: auto; transition: transform .22s ease; }
.forum-topic-image:hover img, .forum-topic-image:focus img { transform: scale(1.025); }
.forum-reply-button, .forum-cancel-reply { padding: 3px 0; color: var(--vc-accent); background: transparent; border: 0; font: inherit; font-size: .82rem; cursor: pointer; }
.forum-replying-to { margin: 0; color: var(--vc-muted); font-size: .86rem; }
@media (max-width: 760px) { .forum-toolbar { align-items: center; gap: 9px 12px; } .forum-sort { flex: 1 1 100%; } .forum-sort select { width: 100%; min-width: 0; } .forum-total-item { font-size: .8rem; } }
.vicando-chat-open { overflow: hidden; }
.member-chat-overlay { position: fixed; z-index: 1000000; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(4,7,12,.76); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.member-chat-overlay[hidden], .member-chat-overlay [hidden] { display: none !important; }
.member-chat-dialog { width: min(1000px,100%); overflow: hidden; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); box-shadow: 0 30px 100px rgba(0,0,0,.62); }
.member-chat-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 68px; padding: 12px 18px; color: var(--vc-text); background: var(--vc-bg); border-bottom: 1px solid var(--vc-border); }
.member-chat-dialog-header h2, .member-chat-dialog-header p { margin: 0; }
.member-chat-dialog-header p { margin-top: 2px; color: var(--vc-muted); font-size: .78rem; }
.member-chat-close { width: 42px; height: 42px; padding: 0; color: var(--vc-text); background: transparent; border: 0; font-size: 2rem; line-height: 1; cursor: pointer; }
.member-chat-card { display: grid; grid-template-columns: minmax(190px,260px) minmax(0,1fr); width: 100%; height: 620px; min-height: 0; overflow: hidden; background: var(--vc-surface); border: 0; }
.member-chat-people { min-height: 0; padding: 18px 0; overflow-y: auto; background: var(--vc-bg); border-right: 1px solid var(--vc-border); }
.member-chat-people > strong { display: block; padding: 0 16px 12px; }
.member-chat-people button { display: grid; grid-template-columns: 34px minmax(0,1fr) 8px; align-items: center; gap: 9px; width: 100%; padding: 10px 16px; color: var(--vc-text); background: transparent; border: 0; text-align: left; font: inherit; cursor: pointer; }
.member-chat-people button:hover, .member-chat-people button.is-active { color: #fff; background: var(--vc-accent); }
.member-chat-people img { width: 34px; height: 34px; border-radius: 50%; }
.member-chat-people button span small { display: block; margin-top: 2px; opacity: .72; font-size: .72rem; }
.member-chat-people i, .member-chat-with span i { width: 8px; height: 8px; background: #298a40; border-radius: 50%; }
.member-chat-people i.is-offline, .member-chat-with span i.is-offline { background: #8b929d; }
.member-chat-unread { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; color: var(--vc-accent); background: #fff; border-radius: 50%; font-size: .72rem; }
.member-private-chat { display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; min-width: 0; min-height: 0; overflow: hidden; }
.member-chat-with { display: flex; align-items: center; gap: 11px; padding: 13px 16px; border-bottom: 1px solid var(--vc-border); }
.member-chat-with img { width: 44px; height: 44px; border-radius: 50%; }
.member-chat-with small, .member-chat-with strong { display: block; }
.member-chat-with span { display: flex; align-items: center; gap: 6px; margin-left: auto; color: var(--vc-muted); font-size: .8rem; }
.member-chat-with span em { font-style: normal; }
.member-chat-clear { margin-left: 6px; padding: 5px 8px; color: var(--vc-muted); background: transparent; border: 1px solid var(--vc-border); font: inherit; font-size: .72rem; cursor: pointer; }
.member-chat-clear:hover, .member-chat-clear:focus { color: #fff; background: var(--vc-accent); border-color: var(--vc-accent); }
.member-chat-messages { min-height: 0; padding: 18px; overflow-y: auto; }
.member-chat-message { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 9px; max-width: 82%; margin-bottom: 13px; }
.member-chat-message.is-own { margin-left: auto; grid-template-columns: minmax(0,1fr); }
.member-chat-message.is-own > img { display: none; }
.member-chat-message img { width: 36px; height: 36px; border-radius: 50%; }
.member-chat-message > div { padding: 9px 12px; background: var(--vc-bg); border: 1px solid var(--vc-border); }
.member-chat-message.is-own > div { color: #fff; background: var(--vc-accent); border-color: var(--vc-accent); }
.member-chat-message header { display: flex; justify-content: space-between; gap: 12px; font-size: .78rem; }
.member-chat-message time { opacity: .72; }
.member-chat-message p { margin: 5px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.member-chat-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; padding: 13px; border-top: 1px solid var(--vc-border); }
.member-chat-form textarea { width: 100%; min-height: 46px; padding: 10px; resize: vertical; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); border-radius: 0; font: inherit; }
.member-chat-status { margin: 0; padding: 9px 13px; color: #fff; background: var(--vc-accent); }
.member-chat-placeholder { display: grid; place-items: center; padding: 30px; color: var(--vc-muted); }
.login-error-page { min-height: 55vh; display: grid; place-items: center; padding-block: clamp(30px,7vw,90px); }
.login-error-card { width: min(520px,100%); text-align: center; }
.login-error-symbol { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 18px; color: #fff; background: var(--vc-accent); font-size: 2rem; font-weight: 800; }
.login-error-card form { text-align: left; }
.login-error-card form p { margin-bottom: 14px; }
.login-error-card form label { display: block; font-weight: 650; }
.login-error-card form input[type="text"], .login-error-card form input[type="password"] { width: 100%; min-height: 44px; margin-top: 5px; padding: 9px 11px; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); border-radius: 0; }
.login-error-card .login-submit input { width: 100%; }
.login-error-links { display: flex; justify-content: space-between; gap: 15px; margin-top: 18px; }
@media (max-width: 760px) { .member-community-gallery-grid, .member-gallery-photographer-images { grid-template-columns: repeat(2,minmax(0,1fr)); } .member-forum-activity { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .member-directory-item { grid-template-columns: 52px minmax(0,1fr); } .member-directory-item img { width: 52px; height: 52px; } .member-directory-more { grid-column: 2; } .forum-topic-row { align-items: flex-start; flex-direction: column; } .login-error-links { flex-direction: column; } .member-community-gallery-grid, .member-gallery-photographer-images { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .member-chat-overlay { padding: 10px; } .member-chat-dialog { width: 100%; } .member-chat-dialog-header { min-height: 58px; padding: 8px 12px; } .member-chat-card { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr); height: min(680px,calc(100dvh - 88px)); min-height: 430px; } .member-chat-people { display: flex; min-height: auto; gap: 4px; overflow-x: auto; overflow-y: hidden; padding: 10px; border-right: 0; border-bottom: 1px solid var(--vc-border); } .member-chat-people > strong { display: none; } .member-chat-people button { flex: 0 0 auto; width: auto; min-width: 150px; padding: 7px 10px; } .member-chat-with { flex-wrap: wrap; } .member-chat-with span { margin-left: 0; } .member-chat-clear { margin-left: auto; } .forum-child-thread { margin-left: 12px; } }
.member-public-gallery-grid .member-gallery-lightbox { position: relative; inset: auto; aspect-ratio: 4 / 3; overflow: hidden; }
.member-public-gallery-grid .member-gallery-lightbox img { transition: transform .25s ease; }
.member-public-gallery-grid .member-gallery-lightbox:hover img, .member-public-gallery-grid .member-gallery-lightbox:focus img { transform: scale(1.035); }
@media (max-width: 680px) { .member-gallery-manager-grid, .member-public-gallery-grid { grid-template-columns: 1fr; } .member-gallery-upload { grid-template-columns: 1fr; } .member-gallery-upload small { grid-column: auto; } }
@media (max-width: 620px) { .member-details-form { grid-template-columns: 1fr; } .member-details-form .member-field-wide { grid-column: auto; } }
.topbar-mobile-toggle { display: none; align-items: center; gap: 7px; min-height: 36px; padding: 6px 11px; color: #fff; background: var(--vc-accent); border: 0; border-radius: 0; font: inherit; font-weight: 700; cursor: pointer; }
.topbar-mobile-toggle:hover, .topbar-mobile-toggle:focus { color: #fff; background: var(--vc-topbar-hover); }
.topbar-mobile-meta { display: none; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.topbar-mobile-meta::-webkit-scrollbar { display: none; }
.topbar-zone { min-width: 0; display: flex; align-items: center; }
.topbar-left, .topbar-right { width: max-content; max-width: 100%; }
.topbar-center { justify-content: center; text-align: center; }
.topbar-right { justify-content: flex-end; text-align: right; }
.topbar a { color: #fff; }
.topbar a:hover, .topbar a:focus { color: #fff; text-decoration: none; outline: none; }
.topbar-menu { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; margin: 0; padding: 0; list-style: none; font-size: .875rem; background: transparent; border: 0; border-radius: 0; }
.topbar-left .topbar-menu, .topbar-right .topbar-menu { flex-wrap: nowrap; }
.topbar-menu li { position: relative; margin: 0; }
.topbar-menu a { display: flex; align-items: center; height: 100%; min-height: 32px; padding: 5px 12px; border-radius: 0; transition: background-color .18s ease; }
.topbar-menu,
.topbar-menu li,
.topbar-menu a,
.topbar-menu .sub-menu { border: 0 !important; outline: 0 !important; }
.topbar-menu,
.topbar-menu li,
.topbar-menu a { box-shadow: none !important; }
.topbar-menu > li + li { border-left: 0; }
.topbar-menu > li + li::before { content: "/"; position: absolute; top: 50%; left: 0; color: rgba(255,255,255,.55); transform: translate(-50%,-50%); pointer-events: none; }
.topbar-menu a:hover,
.topbar-menu a:focus,
.topbar-menu li:hover > a,
.topbar-menu li:focus-within > a { color: var(--vc-topbar-hover); background: transparent; text-decoration: none; box-shadow: inset 0 -2px currentColor !important; }
.topbar-menu .menu-item-has-children > a::after { content: ""; flex: 0 0 auto; width: .48em; height: .48em; margin: -.2em 0 0 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.topbar-menu .sub-menu { position: absolute; z-index: 1200; top: 100%; left: 0; display: none; min-width: 210px; margin: 0; padding: 0; list-style: none; text-align: left; background: var(--vc-topbar); border: 0; border-radius: 0; box-shadow: 0 12px 28px rgba(0,0,0,.3); }
.topbar-menu .sub-menu .sub-menu { top: -8px; left: 100%; }
.topbar-menu .sub-menu li + li { border-top: 0; }
.topbar-menu .sub-menu a { padding: 9px 12px; white-space: nowrap; }
.topbar-menu li:hover > .sub-menu,
.topbar-menu li:focus-within > .sub-menu { display: block; }
.topbar-right .topbar-menu > li > .sub-menu { right: 0; left: auto; }
.topbar-right .topbar-menu .sub-menu .sub-menu { right: 100%; left: auto; }
.topbar-center .topbar-menu { justify-content: center; }
.topbar-right .topbar-menu { justify-content: flex-end; }
.topbar-image { display: block; width: auto; max-width: 100%; max-height: 30px; object-fit: contain; }
.topbar-left .topbar-image { max-height: 28px; }
.topbar-date { font-size: .875rem; white-space: nowrap; }
.topbar-socials { display: flex; align-items: center; gap: 6px; margin-inline: 8px; }
.topbar-social-link { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border-radius: 0; color: #fff; background: rgba(255,255,255,.14); font-size: .78rem; font-weight: 800; line-height: 1; }
.topbar-social-link:hover, .topbar-social-link:focus { color: #fff; background: var(--vc-topbar-hover); }
.topbar-social-link svg { width: 18px; height: 18px; display: block; }
.topbar-social-custom-icon { width: 20px; height: 20px; object-fit: contain; border-radius: 0; }
.vicando-menu-link-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; margin-left: .42em; font-size: .92em; line-height: 1; }
.vicando-menu-link-icon-windows { position: relative; width: 1.05em; height: .9em; margin-left: .5em; }
.vicando-menu-link-icon-windows::before,
.vicando-menu-link-icon-windows::after { content: ""; position: absolute; width: .65em; height: .52em; border: 1.5px solid currentColor; background: transparent; }
.vicando-menu-link-icon-windows::before { top: 0; left: .25em; }
.vicando-menu-link-icon-windows::after { right: .25em; bottom: 0; }

/* Vicando 1.4 uses only the black top banner. Hide legacy header markup too. */
header.site-header,
.site-header,
.site-branding,
.site-title,
.site-description { display: none !important; }

.jumbo-header { position: relative; z-index: 900; width: 100%; max-width: none; margin-left: 0; height: var(--vc-jumbo-height); min-height: var(--vc-jumbo-height); color: #fff; background-color: var(--vc-jumbo-color); overflow: visible; }
.jumbo-header.jumbo-background-image { background-color: transparent !important; background-image: none !important; }
.jumbo-background-media { position: absolute; z-index: 0; inset: 0; overflow: hidden; background: transparent; pointer-events: none; }
.jumbo-background-image-layer { position: absolute; inset: 0; display: block; background-color: transparent; background-image: var(--vc-jumbo-image); background-position: center; background-size: cover; background-repeat: no-repeat; }
.jumbo-header.has-background-zoom { background-image: none; }
.jumbo-header.has-background-zoom .jumbo-background-image-layer { animation: vicando-box-zoom var(--vc-jumbo-zoom-duration,10s) cubic-bezier(.45,.05,.55,.95) infinite; transform-origin: center center; will-change: transform; }
@keyframes vicando-box-zoom {
  0% { transform: scale(1) translate3d(0,0,0); }
  24% { transform: scale(var(--vc-jumbo-zoom-scale,1.12)) translate3d(var(--vc-zoom-x1,-.35%),var(--vc-zoom-y1,-.8%),0); }
  52% { transform: scale(var(--vc-jumbo-zoom-scale,1.12)) translate3d(var(--vc-zoom-x2,.3%),var(--vc-zoom-y2,.65%),0); }
  76% { transform: scale(var(--vc-jumbo-zoom-scale,1.12)) translate3d(var(--vc-zoom-x3,-.2%),var(--vc-zoom-y3,-.35%),0); }
  100% { transform: scale(1) translate3d(0,0,0); }
}
.jumbo-header.jumbo-background-image,
.jumbo-header.jumbo-background-video { background-color: transparent !important; }
.jumbo-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (prefers-reduced-motion: reduce) { .jumbo-header.has-background-zoom .jumbo-background-image-layer { animation: none; transform: none; } }
.jumbo-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.28); pointer-events: none; }
.jumbo-background-image .jumbo-overlay,
.jumbo-background-video .jumbo-overlay { display: none; }
.jumbo-inner { position: relative; z-index: 2; height: 100%; min-height: var(--vc-jumbo-height); display: grid; grid-template-columns: minmax(180px,1fr) auto minmax(180px,1fr); align-items: center; padding-top: 0; gap: 30px; }
.jumbo-branding { min-width: 0; height: 96%; display: flex; align-items: center; overflow: hidden; pointer-events: none; }
.jumbo-branding .custom-logo-link { display: inline-flex; flex: 0 0 auto; align-items: center; width: fit-content; max-width: min(100%, var(--vc-jumbo-logo-width, 620px)); max-height: var(--vc-jumbo-logo-height); line-height: 0; cursor: pointer; pointer-events: auto; }
.jumbo-branding .custom-logo { display: block; width: auto; height: auto; max-width: 100%; max-height: inherit; object-fit: contain; }
.jumbo-site-name { display: inline-flex; max-width: 100%; align-items: center; color: #fff; font-size: clamp(1.8rem,5vw,4.5rem); font-weight: 800; line-height: 1.05; letter-spacing: -.035em; text-decoration: none; text-shadow: 0 2px 18px rgba(0,0,0,.45); pointer-events: auto; }
.jumbo-site-name:hover, .jumbo-site-name:focus { color: #fff; text-decoration: none; }
.jumbo-no-attention-menu { grid-template-columns: minmax(0,1fr) auto; }
.jumbo-no-attention-menu .jumbo-branding .custom-logo-link { max-width: min(100%, var(--vc-jumbo-logo-width, 620px)); }
.jumbo-actions { display: contents; }
.jumbo-navigation { grid-column: 2; justify-self: center; }
.jumbo-navigation .jumbo-menu { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.jumbo-menu li { position: relative; }
.jumbo-menu a { display: flex; align-items: center; min-height: 50px; padding: 10px 20px; color: #fff; background: var(--vc-jumbo-button-glass); border: 1px solid rgba(255,255,255,.3); border-radius: 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 8px 24px rgba(0,0,0,.12); backdrop-filter: blur(12px) saturate(145%); -webkit-backdrop-filter: blur(12px) saturate(145%); font-size: 1.05rem; font-weight: 750; cursor: pointer; transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.jumbo-search-toggle, .jumbo-menu-toggle { display: flex; align-items: center; min-height: 44px; padding: 8px 14px; color: #fff; background: var(--vc-accent); border: 0; border-radius: 0; font: inherit; font-weight: 700; cursor: pointer; }
.jumbo-menu a:hover, .jumbo-menu a:focus, .jumbo-menu .current-menu-item > a { color: #fff; background: var(--vc-jumbo-button-glass-hover); transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 12px 30px rgba(0,0,0,.2); }
.jumbo-search-toggle:hover, .jumbo-search-toggle:focus, .jumbo-menu-toggle:hover, .jumbo-menu-toggle:focus { color: #fff; background: var(--vc-accent-hover); }
.jumbo-menu .sub-menu { position: absolute; top: 100%; left: 0; display: none; min-width: 210px; margin: 0; padding: 6px; list-style: none; background: var(--vc-jumbo-color); border-radius: 0; box-shadow: var(--vc-shadow); }
.jumbo-menu li:hover > .sub-menu, .jumbo-menu li:focus-within > .sub-menu { display: block; }
.jumbo-menu .sub-menu .sub-menu { top: 0; left: 100%; }
.jumbo-menu-toggle { display: none; font-size: 1.3rem; }
.jumbo-search { position: absolute; z-index: 100; top: 50%; right: 12px; transform: translateY(-50%); display: flex; align-items: center; }
.jumbo-search-toggle { position: relative; z-index: 22; white-space: nowrap; }
.jumbo-search-form { position: absolute; z-index: 110; top: 0; right: calc(100% + 6px); height: 44px; width: 0; display: flex; visibility: hidden; opacity: 0; overflow: hidden; transition: width .25s ease, opacity .18s ease, visibility .25s; padding: 0; background: #fff; border-radius: 0; box-shadow: var(--vc-shadow); }
.jumbo-search-form.is-open { visibility: visible; opacity: 1; width: min(560px, calc(100vw - 130px)); }
.jumbo-search-form input { min-width: 0; width: 100%; height: 44px; flex: 1; border: 1px solid var(--vc-border); padding: 9px 12px; border-radius: 0; }
.vicando-search-message { position: absolute; z-index: 180; right: 0; bottom: calc(100% + 9px); width: max-content; max-width: min(330px, calc(100vw - 28px)); padding: 9px 12px; color: #fff; background: var(--vc-accent); box-shadow: 0 8px 24px rgba(0,0,0,.28); font-size: .86rem; font-weight: 650; line-height: 1.35; opacity: 0; visibility: hidden; transform: translateY(5px); transition: opacity .16s ease, transform .16s ease, visibility .16s; pointer-events: none; }
.vicando-search-message::after { content: ""; position: absolute; top: 100%; right: 22px; border: 6px solid transparent; border-top-color: var(--vc-accent); }
.vicando-search-message.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.search-form, .error-search-form, .wp-block-search { position: relative; }

.main-menu-bar { position: relative; z-index: 1250; isolation: isolate; background: transparent; border: 0; box-shadow: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.main-menu-bar::before { content: ""; position: absolute; z-index: -1; inset: 0; background-color: var(--vc-main-menu-bar); background-image: var(--vc-main-menu-image, none); background-position: center; background-size: cover; background-repeat: no-repeat; opacity: var(--vc-main-menu-opacity, 1); pointer-events: none; }
.main-menu-bar.is-sticky { position: sticky; top: 0; }
.admin-bar .main-menu-bar.is-sticky { top: 32px; }
.main-menu-placement-overlay_top { margin-bottom: -62px; }
.main-menu-placement-overlay_bottom { margin-top: -62px; }
.main-menu-bar-inner { min-height: 62px; display: flex; align-items: stretch; justify-content: flex-start; padding-block: 0; }
.main-menu-bar-inner::after { display: none; }
.sticky-menu-logo { width: 0; max-width: 0; min-width: 0; height: 62px; display: flex; align-items: center; overflow: hidden; visibility: hidden; opacity: 0; transition: width .2s ease, max-width .2s ease, opacity .16s ease, margin-right .2s ease; }
.main-menu-bar.is-stuck .sticky-menu-logo { width: min(160px, 16vw); max-width: 160px; margin-right: 12px; visibility: visible; opacity: 1; }
.sticky-menu-logo .custom-logo-link { width: 100%; height: 100%; display: flex; align-items: center; }
.sticky-menu-logo .custom-logo { width: auto; height: auto; max-width: 100%; max-height: 52px; object-fit: contain; }
.main-menu-standard { flex: 0 1 auto; min-width: 0; }
.main-menu-list { display: flex; align-items: center; justify-content: var(--vc-main-menu-justify); gap: 0; margin: 0; padding: 0; list-style: none; }
.main-menu-list li { position: relative; margin: 0; }
.main-menu-list a { display: flex; align-items: center; min-height: 62px; padding: 15px 20px; color: var(--vc-main-menu-text); background-clip: border-box; border: 0; border-radius: 0; box-shadow: none; font-size: 1.25rem; line-height: 1.6; font-weight: 400; transition: color .18s ease, background-color .18s ease, padding .18s ease; }
.main-menu-list .menu-item-has-children > a::after { content: ""; flex: 0 0 auto; width: .48em; height: .34em; margin: .08em 0 0 .58em; background: currentColor; clip-path: polygon(0 0, 50% 62%, 100% 0, 100% 34%, 50% 100%, 0 34%); }
.main-menu-panel.main-menu-buttons-text > .main-menu-list > li > a { background-color: transparent; }
.main-menu-panel.main-menu-buttons-background > .main-menu-list > li > a { color: #fff; background-color: var(--vc-main-menu-button); }
.main-menu-panel .main-menu-list a:hover,
.main-menu-panel .main-menu-list a:focus-visible,
.main-menu-panel.main-menu-buttons-text > .main-menu-list > li > a:hover,
.main-menu-panel.main-menu-buttons-text > .main-menu-list > li > a:focus-visible,
.main-menu-panel.main-menu-buttons-background > .main-menu-list > li > a:hover,
.main-menu-panel.main-menu-buttons-background > .main-menu-list > li > a:focus-visible { color: #fff !important; background-color: var(--vc-live-menu-hover) !important; }
.main-menu-list .current-menu-item > a,
.main-menu-list .current-menu-ancestor > a,
.main-menu-list .current-menu-parent > a,
.main-menu-list .current_page_item > a,
.main-menu-list .current_page_ancestor > a { color: #fff; background-color: var(--vc-live-menu-hover) !important; text-decoration: none; box-shadow: none; }
.main-menu-list .current-menu-item > a:hover,
.main-menu-list .current-menu-ancestor > a:hover,
.main-menu-list .current-menu-parent > a:hover,
.main-menu-list .current_page_item > a:hover,
.main-menu-list .current_page_ancestor > a:hover { color: #fff !important; background-color: var(--vc-live-menu-hover) !important; }
.main-menu-list .sub-menu { position: absolute; z-index: 1000; top: 100%; left: 0; display: none; min-width: 220px; margin: 0; padding: 0; list-style: none; background: var(--vc-main-menu-dropdown-surface, var(--vc-main-menu-dropdown)); border: 0; border-radius: 0; box-shadow: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.main-menu-list .sub-menu a { min-height: 46px; padding-top: 10px; padding-bottom: 10px; color: var(--vc-main-menu-dropdown-text); font-size: 1rem; line-height: 1.45; font-weight: 300; }
.main-menu-list .sub-menu a:hover, .main-menu-list .sub-menu a:focus { padding-right: 16px; padding-left: 24px; }
.main-menu-list .sub-menu li, .main-menu-list .sub-menu a { width: 100%; border: 0; border-radius: 0; }
.main-menu-list li:hover > .sub-menu, .main-menu-list li:focus-within > .sub-menu { display: block; }
.main-menu-list .sub-menu .sub-menu { top: 0; left: 100%; }
.main-menu-list .sub-menu .menu-item-has-children > a::after { margin-top: 0; transform: rotate(-90deg); }
.main-menu-submenu-toggle { display: none; }
.topbar-menu, .jumbo-menu, .main-menu-list, .topbar-mobile-toggle, .jumbo-menu-toggle, .main-menu-toggle { font-family: var(--vc-menu-font, inherit); }
.visitor-theme-tools { position: relative; z-index: 20; display: flex; align-items: stretch; margin-left: auto; font-family: var(--vc-menu-font, inherit); }
.visitor-theme-toggle, .visitor-drawer-toggle, .visitor-settings-toggle { display: flex; align-items: center; justify-content: center; width: 62px; min-height: 62px; padding: 0; color: var(--vc-main-menu-text); background: transparent; border: 0; border-radius: 0; font-size: 1.35rem; cursor: pointer; }
.visitor-theme-tools .visitor-theme-toggle,
.visitor-theme-tools .visitor-settings-toggle { width: 48px; }
.visitor-theme-icon { display: block; font-size: 1.4rem; line-height: 1; }
body.vicando-color-dark .visitor-theme-icon { font-size: 1.08rem; }
.visitor-theme-toggle:hover, .visitor-theme-toggle:focus, .visitor-drawer-toggle:hover, .visitor-drawer-toggle:focus, .visitor-settings-toggle:hover, .visitor-settings-toggle:focus { color: var(--vc-live-menu-hover); background: transparent; }
.visitor-theme-toggle:focus-visible, .visitor-drawer-toggle:focus-visible, .visitor-settings-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }
.visitor-settings-panel { position: absolute; z-index: 1800; top: 100%; right: 0; width: 250px; padding: 18px; color: var(--vc-main-menu-dropdown-text); background: var(--vc-main-menu-dropdown-surface, var(--vc-main-menu-dropdown)); box-shadow: 0 18px 40px rgba(0,0,0,.3); }
.visitor-settings-panel strong { display: block; margin-bottom: 12px; }
.visitor-accent-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.visitor-accent-options button { min-width: 0; padding: 0; color: inherit; background: transparent; border: 0; cursor: pointer; font: inherit; font-size: .72rem; }
.visitor-accent-options button::before { content: ""; display: block; width: 34px; height: 34px; margin: 0 auto 6px; background: var(--visitor-choice); border: 3px solid transparent; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,.45); }
.visitor-accent-options button.is-selected::before { border-color: #fff; box-shadow: 0 0 0 2px var(--visitor-choice); }
.visitor-drawer-backdrop { position: fixed; z-index: 4990; inset: 0; background: rgba(0,0,0,.5); }
.visitor-drawer { position: fixed; z-index: 5000; top: 0; right: 0; width: min(var(--vc-visitor-drawer-width,420px),100vw); height: 100dvh; padding: 0 0 32px; color: var(--vc-main-menu-dropdown-text); background: var(--vc-main-menu-dropdown-surface, var(--vc-main-menu-dropdown)); box-shadow: -18px 0 50px rgba(0,0,0,.35); overflow-y: auto; transform: translateX(105%); transition: transform .28s ease; }
.visitor-drawer.is-open { transform: translateX(0); }
.visitor-drawer > header { min-height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; border-bottom: 1px solid rgba(255,255,255,.14); }
.visitor-drawer-close { width: 48px; height: 48px; color: inherit; background: transparent; border: 0; font-size: 1.8rem; cursor: pointer; }
.visitor-drawer nav + nav { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); }
.visitor-drawer-primary { display: none; }
.visitor-drawer.includes-primary-desktop .visitor-drawer-primary { display: block; }
.visitor-drawer-menu, .visitor-drawer-menu .sub-menu { margin: 0; padding: 0; list-style: none; }
.visitor-drawer-menu a { display: flex; min-height: 50px; align-items: center; padding: 10px 24px; color: inherit; text-decoration: none; }
.visitor-drawer-menu a:hover, .visitor-drawer-menu a:focus { color: #fff; background: var(--vc-accent); }
.visitor-drawer-menu .sub-menu a { min-height: 44px; padding-left: 42px; font-size: .92rem; }
.visitor-drawer-menu .sub-menu .sub-menu a { padding-left: 60px; }
body.vicando-visitor-drawer-open { overflow: hidden; }
.vicando-breadcrumbs { position: relative; z-index: 800; width: 100%; margin-top: 12px; color: var(--vc-muted); background: transparent; border: 0; box-shadow: none; font-size: .86rem; }
.container.vicando-breadcrumbs-inner { min-height: 40px; display: flex; align-items: center; gap: 8px; padding-left: 36px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.vicando-layout-fixed .container.vicando-breadcrumbs-inner { padding-left: 20px; }
.vicando-breadcrumbs-inner::-webkit-scrollbar { display: none; }
.vicando-breadcrumbs a { color: var(--vc-text); text-decoration: none; }
.vicando-breadcrumbs a:hover, .vicando-breadcrumbs a:focus { color: var(--vc-accent); }
.breadcrumb-hover-underline a:hover, .breadcrumb-hover-underline a:focus { text-decoration: underline; text-underline-offset: 4px; }
.breadcrumb-hover-bold a:hover, .breadcrumb-hover-bold a:focus { font-weight: 700; text-decoration: none; }
.breadcrumb-hover-bold-underline a:hover, .breadcrumb-hover-bold-underline a:focus { font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.breadcrumb-hover-none a:hover, .breadcrumb-hover-none a:focus { font-weight: inherit; text-decoration: none; }
.breadcrumb-home-icon { flex: 0 0 auto; width: 16px; height: 16px; fill: currentColor; }
.breadcrumb-separator { color: var(--vc-muted); opacity: .65; }
.breadcrumb-current { position: relative; color: var(--vc-text); text-decoration: none; }
.breadcrumb-active-underline .breadcrumb-current::after { content: ""; position: absolute; right: 0; bottom: -5px; left: 0; height: 3px; border-bottom: 2px solid currentColor; border-radius: 0 0 55% 45%; transform: skewY(.55deg); transform-origin: left center; pointer-events: none; }
.breadcrumb-active-bold .breadcrumb-current { font-weight: 700; }
.breadcrumb-active-bold-underline .breadcrumb-current { font-weight: 700; }
.breadcrumb-active-bold-underline .breadcrumb-current::after { content: ""; position: absolute; right: 0; bottom: -5px; left: 0; height: 3px; border-bottom: 2px solid currentColor; border-radius: 0 0 55% 45%; transform: skewY(.55deg); transform-origin: left center; pointer-events: none; }
.breadcrumb-active-none .breadcrumb-current { font-weight: inherit; }
.vicando-member-shortcuts { position: relative; z-index: 790; width: 100%; margin-top: 10px; color: var(--vc-text); }
.vicando-member-shortcuts-inner { display: flex; align-items: center; min-height: 44px; gap: 10px; padding: 0 20px 0 36px; border-top: 1px solid var(--vc-border); border-bottom: 1px solid var(--vc-border); background: var(--vc-surface); overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.vicando-layout-fixed .container.vicando-member-shortcuts-inner { padding-left: 20px; }
.vicando-member-shortcuts-inner::-webkit-scrollbar { display: none; }
.vicando-member-shortcuts-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 25px; height: 25px; color: var(--vc-accent); }
.vicando-member-shortcuts-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.vicando-member-shortcuts-links { display: flex; align-items: stretch; align-self: stretch; }
.vicando-member-shortcuts-links a { display: inline-flex; align-items: center; padding: 0 13px; color: var(--vc-text); font-size: .86rem; text-decoration: none; }
.vicando-member-shortcuts-links a:hover, .vicando-member-shortcuts-links a:focus, .vicando-member-shortcuts-links a.is-active { color: #fff; background: var(--vc-accent); }
.vicando-membership-warning { display: flex; align-items: flex-start; gap: 12px; margin-top: 10px; padding: 13px 18px; color: #2b1d00; background: #fff0bd; border-left: 4px solid #a73801; font-size: .9rem; }
.vicando-membership-warning strong { flex: 0 0 auto; }
@media (max-width: 620px) { .vicando-membership-warning { display: block; } .vicando-membership-warning strong, .vicando-membership-warning span { display: block; } .vicando-membership-warning span { margin-top: 4px; } }
.main-menu-toggle { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; color: var(--vc-main-menu-burger-text); background: var(--vc-main-menu-burger); border: 0; border-radius: 0; font: inherit; font-weight: 750; cursor: pointer; }
.main-menu-toggle:hover, .main-menu-toggle:focus { color: #fff; background: var(--vc-live-menu-hover); }
.main-menu-mobile-toggle { display: none; }
.main-menu-force-burger .main-menu-mobile-toggle { display: flex; }
.main-menu-force-burger .main-menu-standard { position: absolute; z-index: 1200; top: 100%; display: none; width: min(360px, calc(100vw - 24px)); padding: 0; background: var(--vc-main-menu-dropdown-surface, var(--vc-main-menu-dropdown)); }
.main-menu-force-burger .main-menu-standard.is-open { display: block; }
.main-menu-force-burger .main-menu-list { flex-direction: column; align-items: stretch; }
.main-menu-force-burger .main-menu-list > li { width: 100%; }
.main-menu-force-burger .main-menu-list .sub-menu { position: static; width: 100%; box-shadow: none; }
.main-menu-force-burger.main-menu-burger-left .main-menu-standard { left: max(12px, calc((100% - var(--vc-container)) / 2)); }
.main-menu-force-burger.main-menu-burger-right .main-menu-standard { right: max(12px, calc((100% - var(--vc-container)) / 2)); }
.main-menu-force-burger.main-menu-burger-right .main-menu-mobile-toggle { margin-left: auto; }
.main-menu-force-burger.main-menu-burger-right .sticky-menu-logo + .main-menu-mobile-toggle { margin-left: auto; }
.jumbo-inner > .main-menu-toggle { position: absolute; z-index: 30; top: auto; bottom: 0; transform: none; font-size: 1.25rem; border-radius: 0; }
.main-menu-toggle-left { left: 0; }
.main-menu-toggle-right { right: 0; }
.jumbo-inner > .main-menu-panel { position: absolute; z-index: 29; top: 100%; display: none; width: min(340px, calc(100vw - 24px)); padding: 8px; background: var(--vc-main-menu-dropdown); border-radius: 0; box-shadow: var(--vc-shadow); }
.jumbo-inner > .main-menu-panel.is-open { display: block; }
.main-menu-panel-left { left: 0; }
.main-menu-panel-right { right: 0; }
.jumbo-inner > .main-menu-panel .main-menu-list { flex-direction: column; align-items: stretch; }
.jumbo-inner > .main-menu-panel .main-menu-list .sub-menu { position: static; display: block; padding-left: 15px; box-shadow: none; }

.hero {
  padding: 48px 0 56px;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 42px;
  align-items: center;
}
.hero-grid-no-media { grid-template-columns: minmax(0,1fr); }
.vicando-home-feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px; align-items: stretch; }
.vicando-home-feature-card { min-width: 0; min-height: 480px; display: flex; flex-direction: column; overflow: hidden; color: var(--vc-text); background: var(--vc-surface); border-radius: 28px; box-shadow: var(--vc-shadow); }
.vicando-home-feature-image { min-height: 270px; flex: 1 1 58%; display: block; overflow: hidden; background: color-mix(in srgb,var(--vc-surface) 84%,var(--vc-text)); }
.vicando-home-feature-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.vicando-home-feature-card:hover .vicando-home-feature-image img { transform: scale(1.035); }
.vicando-home-feature-copy { flex: 1 1 auto; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(28px,4vw,46px); }
.vicando-home-feature-kind { margin-bottom: 12px; color: var(--vc-accent); font-size: .78rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.vicando-home-feature-copy h2 { margin: 0 0 14px; font-size: clamp(1.75rem,3.4vw,2.8rem); line-height: 1.06; letter-spacing: -.035em; }
.vicando-home-feature-copy h2 a { color: inherit; text-decoration: none; }
.vicando-home-feature-copy h2 a:hover { color: var(--vc-accent); }
.hero .vicando-home-feature-copy p { margin: 0 0 22px; color: var(--vc-muted); font-size: 1rem; }
.vicando-home-feature-more { margin-top: auto; }
.vicando-home-feature-card:not(:has(.vicando-home-feature-image)) .vicando-home-feature-copy { justify-content: center; }
.hero-copy { background: var(--vc-surface); padding: 52px; border-radius: 28px; box-shadow: var(--vc-shadow); }
.hero-eyebrow { display: inline-block; margin-bottom: 14px; color: var(--vc-accent); font-weight: 750; letter-spacing: .04em; text-transform: uppercase; font-size: .8rem; }
.hero h1 { font-size: clamp(2.4rem, 6vw, 5rem); line-height: 1.02; margin: 0 0 20px; letter-spacing: -.045em; }
.hero p { font-size: 1.15rem; color: var(--vc-muted); margin: 0 0 28px; }
.vicando-slideshow-section { padding: 18px 0 10px; }
.content-area .vicando-slideshow-section .container { width: 100%; padding-right: 0; padding-left: 0; }
.vicando-content-block-section { padding: 22px 0; }
.vicando-content-block-grid { width: 100%; display: grid; gap: 18px; }
.vicando-content-block-align-left .vicando-content-block-grid { margin-right: auto; }
.vicando-content-block-align-center .vicando-content-block-grid { margin-right: auto; margin-left: auto; }
.vicando-content-block-align-right .vicando-content-block-grid { margin-left: auto; }
.vicando-content-block-layout-single { grid-template-columns: 1fr; }
.vicando-content-block-layout-double { width: 94%; grid-template-columns: repeat(2,minmax(0,1fr)); }
.vicando-content-block-layout-triple { width: 94%; grid-template-columns: repeat(3,minmax(0,1fr)); }
.vicando-content-block-layout-feature-stack { width: 94%; grid-template-columns: minmax(0,2fr) minmax(260px,1fr); grid-template-rows: repeat(3,minmax(0,1fr)); }
.vicando-content-block-layout-feature-stack .vicando-content-card-1 { grid-row: 1 / 4; }
.vicando-content-card { min-width: 0; overflow: hidden; color: var(--vc-text); background: var(--vc-surface); box-shadow: var(--vc-shadow); }
.vicando-content-card-image { display: block; height: 230px; overflow: hidden; }
.vicando-content-card-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.vicando-content-card:hover .vicando-content-card-image img { transform: scale(1.035); }
.vicando-content-card-body { padding: clamp(18px,2.5vw,30px); }
.vicando-content-card h2 { margin: 0 0 12px; font-size: clamp(1.25rem,2vw,1.85rem); line-height: 1.15; }
.vicando-content-card h2 a { color: inherit; text-decoration: none; }
.vicando-content-card p { margin: 0 0 18px; color: var(--vc-muted); }
.vicando-content-card-more { display: inline-flex; padding: 8px 14px; color: #fff; background: var(--vc-accent); text-decoration: none; }
.vicando-content-card-more:hover { color: #fff; background: var(--vc-accent-hover); }
.vicando-content-text-left { text-align: left; }
.vicando-content-text-center { text-align: center; }
.vicando-content-text-right { text-align: right; }
.vicando-content-block-layout-feature-stack .vicando-content-card:not(.vicando-content-card-1) { display: grid; grid-template-columns: 38% 1fr; }
.vicando-content-block-layout-feature-stack .vicando-content-card:not(.vicando-content-card-1) .vicando-content-card-image { height: 100%; min-height: 145px; }
.vicando-content-block-layout-feature-stack .vicando-content-card:not(.vicando-content-card-1) .vicando-content-card-body { padding: 16px; }
.vicando-content-block-layout-feature-stack .vicando-content-card:not(.vicando-content-card-1) h2 { font-size: 1.05rem; }
.vicando-content-block-layout-feature-stack .vicando-content-card:not(.vicando-content-card-1) p { display: -webkit-box; overflow: hidden; font-size: .88rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.content-area .vicando-content-block-section .container { width: 100%; padding-right: 0; padding-left: 0; }
@media (max-width: 900px) {
  .vicando-home-feature-grid { grid-template-columns: 1fr; gap: 24px; }
  .vicando-content-block-layout-triple { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vicando-content-block-layout-feature-stack { grid-template-columns: 1fr; grid-template-rows: auto; }
  .vicando-content-block-layout-feature-stack .vicando-content-card-1 { grid-row: auto; }
}
@media (max-width: 620px) {
  .vicando-footer-fixed > .wp-block-columns { flex-direction: column; }
  .vicando-footer-fixed > .wp-block-columns > .wp-block-column { width: 100%; flex-basis: auto !important; }
  .vicando-content-block-layout-double,
  .vicando-content-block-layout-triple,
  .vicando-content-block-layout-feature-stack { width: 100%; grid-template-columns: 1fr; }
  .vicando-content-block-layout-feature-stack .vicando-content-card:not(.vicando-content-card-1) { grid-template-columns: 1fr; }
  .vicando-content-block-layout-feature-stack .vicando-content-card:not(.vicando-content-card-1) .vicando-content-card-image { height: 190px; }
}
.vicando-slideshow { position: relative; height: clamp(220px, 55vw, var(--vc-slideshow-height, 480px)); overflow: hidden; color: #fff; background: #090b10; box-shadow: var(--vc-shadow); touch-action: pan-y; }
.vicando-slideshow-track, .vicando-slide { position: absolute; inset: 0; }
.vicando-slide { margin: 0; opacity: 0; visibility: hidden; transform: scale(1.018); transition: opacity var(--vc-slide-transition, 1400ms) cubic-bezier(.4,0,.2,1), visibility var(--vc-slide-transition, 1400ms), transform var(--vc-slide-transition, 1400ms) ease-out; }
.vicando-slide.is-active { opacity: 1; visibility: visible; }
.vicando-slide.is-active { transform: scale(1); }
.vicando-slide img, .vicando-slide video { display: block; width: 100%; height: 100%; object-fit: cover; background: #090b10; }
@media (hover: hover) and (pointer: fine) {
  .vicando-slideshow-hover-tilt-left .vicando-slide,
  .vicando-slideshow-hover-tilt-right .vicando-slide,
  .vicando-slideshow-hover-zoom-in .vicando-slide,
  .vicando-slideshow-hover-zoom-out .vicando-slide { overflow: hidden; }
  .vicando-slideshow-hover-tilt-left .vicando-slide img,
  .vicando-slideshow-hover-tilt-right .vicando-slide img,
  .vicando-slideshow-hover-zoom-in .vicando-slide img,
  .vicando-slideshow-hover-zoom-out .vicando-slide img { transition: transform .45s cubic-bezier(.2,.7,.25,1); transform-origin: center; }
  .vicando-slideshow-hover-tilt-left .vicando-slide:hover img { transform: rotate(-3deg) scale(1.09); }
  .vicando-slideshow-hover-tilt-right .vicando-slide:hover img { transform: rotate(3deg) scale(1.09); }
  .vicando-slideshow-hover-zoom-in .vicando-slide:hover img { transform: scale(1.14); }
  .vicando-slideshow-hover-zoom-out .vicando-slide:hover img { transform: scale(.86); }
}
.vicando-slide-lightbox-trigger { position: absolute; inset: 0; width: 100%; height: 100%; display: block; padding: 0; background: transparent; border: 0; border-radius: 0; cursor: zoom-in; }
.vicando-slide-lightbox-trigger img { pointer-events: none; }
.vicando-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,.08) 68%, transparent); pointer-events: none; opacity: 0; transition: opacity var(--vc-slide-transition, 1400ms) ease; }
.vicando-slide.has-caption::after { opacity: 1; }
.vicando-slide-caption { position: absolute; z-index: 2; bottom: clamp(35px, 8%, 72px); left: clamp(22px, 7%, 76px); width: min(620px, calc(100% - 44px)); padding: clamp(18px, 3vw, 30px); color: #fff; background: rgba(0,0,0,.38); border: 0; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); opacity: 0; transform: translateY(16px); transition: opacity var(--vc-slide-transition, 1400ms) ease, transform var(--vc-slide-transition, 1400ms) ease; }
.vicando-slide.is-active .vicando-slide-caption { opacity: 1; transform: translateY(0); }
.vicando-slide-caption h2 { margin: 0 0 10px; color: #fff; font-size: clamp(1.6rem, 4vw, 3.27rem); line-height: 1.05; }
.vicando-slide-caption p { margin: 0 0 15px; color: rgba(255,255,255,.9); font-size: clamp(.95rem, 1.7vw, 1.15rem); }
.vicando-slide-caption a { color: inherit; text-decoration: none; }
.vicando-slide-caption h2 a:hover, .vicando-slide-caption h2 a:focus,
.vicando-slide-caption p a:hover, .vicando-slide-caption p a:focus { text-decoration: underline; text-underline-offset: 4px; }
.vicando-slide-more { display: inline-flex; min-height: 42px; align-items: center; padding: 7px 16px; color: #fff !important; background: var(--vc-accent); font-weight: 700; }
.vicando-slide-more:hover, .vicando-slide-more:focus { background: var(--vc-accent-hover); }
.vicando-slide-control { position: absolute; z-index: 3; top: 50%; width: 46px; height: 58px; display: grid; place-items: center; padding: 0; color: #fff; background: rgba(0,0,0,.48); border: 0; border-radius: 0; font: 300 2.3rem/1 Arial,sans-serif; cursor: pointer; transform: translateY(-50%); transition: background-color .18s ease; }
.vicando-slide-control:hover, .vicando-slide-control:focus { color: #fff; background: var(--vc-accent); }
.vicando-slide-prev { left: 0; }
.vicando-slide-next { right: 0; }
.vicando-slide-dots { position: absolute; z-index: 3; right: 0; bottom: 14px; left: 0; display: flex; justify-content: center; gap: 7px; pointer-events: none; }
.vicando-slide-dots button { width: 10px; height: 10px; padding: 0; background: rgba(255,255,255,.45); border: 1px solid rgba(0,0,0,.25); border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.3); cursor: pointer; pointer-events: auto; }
.vicando-slide-dots button.is-active { background: var(--vc-accent); transform: scale(1.2); }
.vicando-slideshow-multi .vicando-slideshow-track { display: grid; grid-template-columns: repeat(var(--vc-visible-slides, 3), minmax(0,1fr)); gap: 14px; }
.vicando-slideshow-multi .vicando-slide { position: relative; inset: auto; display: none; min-width: 0; height: 100%; transform: none; }
.vicando-slideshow-multi .vicando-slide.is-active { display: block; animation: vicando-triple-reveal var(--vc-slide-transition, 1400ms) cubic-bezier(.4,0,.2,1) both; }
.vicando-slideshow-multi .vicando-slide-caption { right: 12px; bottom: 34px; left: 12px; width: auto; max-height: calc(100% - 54px); padding: 16px; overflow: auto; }
.vicando-slideshow-multi .vicando-slide-caption h2 { font-size: clamp(1.25rem, 2.2vw, 2rem); }
.vicando-slideshow-multi .vicando-slide-caption p { display: -webkit-box; overflow: hidden; font-size: .92rem; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.vicando-slideshow-multi .vicando-slide-more { min-height: 38px; padding: 6px 12px; font-size: .88rem; }
.vicando-slideshow-double .vicando-slideshow-track,
.vicando-slideshow-triple .vicando-slideshow-track { display: block; gap: 0; }
.vicando-slideshow-double .vicando-slide,
.vicando-slideshow-triple .vicando-slide { position: absolute; inset: 0 auto 0 102%; display: block; height: 100%; overflow: hidden; opacity: 0; visibility: hidden; filter: blur(16px) saturate(.72); transform: scale(.96); pointer-events: none; transition: left var(--vc-focus-transition,2200ms) cubic-bezier(.45,0,.16,1), opacity var(--vc-focus-transition,2200ms) ease, filter var(--vc-focus-transition,2200ms) cubic-bezier(.45,0,.16,1), transform var(--vc-focus-transition,2200ms) cubic-bezier(.45,0,.16,1), visibility 0s linear var(--vc-focus-transition,2200ms); will-change: left,opacity,filter,transform; }
.vicando-slideshow-double .vicando-slide { width: calc(50% - 7px); }
.vicando-slideshow-triple .vicando-slide { width: calc(33.333333% - 9.333px); }
.vicando-slideshow-double .vicando-slide.is-active,
.vicando-slideshow-triple .vicando-slide.is-active { animation: none; }
.vicando-slideshow-double .vicando-slide.is-focus-left, .vicando-slideshow-double .vicando-slide.is-focus-center, .vicando-slideshow-double .vicando-slide.is-focus-right,
.vicando-slideshow-triple .vicando-slide.is-focus-left, .vicando-slideshow-triple .vicando-slide.is-focus-center, .vicando-slideshow-triple .vicando-slide.is-focus-right,
.vicando-slideshow-double .vicando-slide[class*="is-focus-enter"], .vicando-slideshow-double .vicando-slide[class*="is-focus-exit"],
.vicando-slideshow-triple .vicando-slide[class*="is-focus-enter"], .vicando-slideshow-triple .vicando-slide[class*="is-focus-exit"] { visibility: visible; transition-delay: 0s; }
.vicando-slideshow-double .vicando-slide.is-focus-center { z-index: 2; left: 0; opacity: 1; filter: blur(0) saturate(1); transform: scale(1); pointer-events: auto; }
.vicando-slideshow-double .vicando-slide.is-focus-right { z-index: 2; left: calc(50% + 7px); opacity: 1; filter: blur(0) saturate(1); transform: scale(1); pointer-events: auto; }
.vicando-slideshow-triple .vicando-slide.is-focus-left { z-index: 2; left: 0; opacity: 1; filter: blur(0) saturate(1); transform: scale(1); pointer-events: auto; }
.vicando-slideshow-triple .vicando-slide.is-focus-center { z-index: 2; left: calc(33.333333% + 4.667px); opacity: 1; filter: blur(0) saturate(1); transform: scale(1); pointer-events: auto; }
.vicando-slideshow-triple .vicando-slide.is-focus-right { z-index: 2; left: calc(66.666667% + 9.333px); opacity: 1; filter: blur(0) saturate(1); transform: scale(1); pointer-events: auto; }
.vicando-slideshow-double .vicando-slide.is-focus-enter-right, .vicando-slideshow-triple .vicando-slide.is-focus-enter-right { left: 102%; opacity: 0; filter: blur(18px) saturate(.68); transform: scale(.94); }
.vicando-slideshow-double .vicando-slide.is-focus-enter-left, .vicando-slideshow-double .vicando-slide.is-focus-exit-left { left: -52%; opacity: 0; filter: blur(18px) saturate(.68); transform: scale(.94); }
.vicando-slideshow-triple .vicando-slide.is-focus-enter-left, .vicando-slideshow-triple .vicando-slide.is-focus-exit-left { left: -35%; opacity: 0; filter: blur(18px) saturate(.68); transform: scale(.94); }
.vicando-slideshow-double .vicando-slide.is-focus-exit-right, .vicando-slideshow-triple .vicando-slide.is-focus-exit-right { left: 102%; opacity: 0; filter: blur(18px) saturate(.68); transform: scale(.94); }
@media (max-width: 900px) and (min-width: 621px) {
  .vicando-slideshow-triple .vicando-slide { width: calc(50% - 7px); }
  .vicando-slideshow-triple .vicando-slide.is-focus-center { left: 0; }
  .vicando-slideshow-triple .vicando-slide.is-focus-right { left: calc(50% + 7px); }
  .vicando-slideshow-triple .vicando-slide.is-focus-enter-left, .vicando-slideshow-triple .vicando-slide.is-focus-exit-left { left: -52%; }
}
@media (max-width: 620px) {
  .vicando-slideshow-double .vicando-slide, .vicando-slideshow-triple .vicando-slide { width: 100%; }
  .vicando-slideshow-double .vicando-slide.is-focus-center, .vicando-slideshow-triple .vicando-slide.is-focus-center { left: 0; }
  .vicando-slideshow-double .vicando-slide.is-focus-enter-right, .vicando-slideshow-double .vicando-slide.is-focus-exit-right,
  .vicando-slideshow-triple .vicando-slide.is-focus-enter-right, .vicando-slideshow-triple .vicando-slide.is-focus-exit-right { left: 104%; }
  .vicando-slideshow-double .vicando-slide.is-focus-enter-left, .vicando-slideshow-double .vicando-slide.is-focus-exit-left,
  .vicando-slideshow-triple .vicando-slide.is-focus-enter-left, .vicando-slideshow-triple .vicando-slide.is-focus-exit-left { left: -104%; }
}
.vicando-slideshow-focus { background: transparent; box-shadow: none; }
.vicando-slideshow-focus .vicando-slideshow-track { display: block; padding: clamp(16px,3vw,34px) 0 clamp(38px,6vw,64px); perspective: 1400px; }
.vicando-slideshow-focus .vicando-slide { position: absolute; inset: auto; top: 15%; left: 102%; display: block; width: 24%; height: 70%; overflow: visible; opacity: 0; visibility: hidden; filter: blur(12px) saturate(.72); transform: scale(.9) rotateY(28deg); transform-origin: center; background: #090b10; border: 1px solid color-mix(in srgb,var(--vc-border) 70%,transparent); box-shadow: 0 20px 48px rgba(0,0,0,.28); pointer-events: none; transition: left var(--vc-focus-transition,2200ms) cubic-bezier(.45,0,.16,1), top var(--vc-focus-transition,2200ms) cubic-bezier(.45,0,.16,1), width var(--vc-focus-transition,2200ms) cubic-bezier(.45,0,.16,1), height var(--vc-focus-transition,2200ms) cubic-bezier(.45,0,.16,1), opacity var(--vc-focus-transition,2200ms) ease, filter var(--vc-focus-transition,2200ms) cubic-bezier(.45,0,.16,1), transform var(--vc-focus-transition,2200ms) cubic-bezier(.45,0,.16,1), visibility 0s linear var(--vc-focus-transition,2200ms); will-change: left,top,width,height,opacity,filter,transform; }
.vicando-slideshow-focus .vicando-slide.is-active { animation: none; }
.vicando-slideshow-focus .vicando-slide.is-focus-left,
.vicando-slideshow-focus .vicando-slide.is-focus-center,
.vicando-slideshow-focus .vicando-slide.is-focus-right,
.vicando-slideshow-focus .vicando-slide.is-focus-enter-left,
.vicando-slideshow-focus .vicando-slide.is-focus-enter-right,
.vicando-slideshow-focus .vicando-slide.is-focus-exit-left,
.vicando-slideshow-focus .vicando-slide.is-focus-exit-right { visibility: visible; transition-delay: 0s; }
.vicando-slideshow-focus .vicando-slide.is-focus-center { z-index: 2; top: 0; left: 24%; width: 52%; height: 100%; opacity: 1; filter: blur(0) saturate(1); transform: scale(1) rotateY(0); pointer-events: auto; }
.vicando-slideshow-focus .vicando-slide.is-focus-left,
.vicando-slideshow-focus .vicando-slide.is-focus-right { z-index: 1; top: 15%; width: 24%; height: 70%; opacity: .62; filter: blur(7px) saturate(.78); box-shadow: 0 24px 46px rgba(0,0,0,.34); backface-visibility: hidden; }
.vicando-slideshow-focus .vicando-slide.is-focus-left { left: 0; transform: scale(.94) rotateY(-28deg); transform-origin: left center; }
.vicando-slideshow-focus .vicando-slide.is-focus-right { left: 76%; transform: scale(.94) rotateY(28deg); transform-origin: right center; }
.vicando-slideshow-focus .vicando-slide.is-focus-enter-right { left: 104%; opacity: 0; filter: blur(18px) saturate(.62); transform: scale(.86) rotateY(34deg); }
.vicando-slideshow-focus .vicando-slide.is-focus-enter-left { left: -28%; opacity: 0; filter: blur(18px) saturate(.62); transform: scale(.86) rotateY(-34deg); }
.vicando-slideshow-focus .vicando-slide.is-focus-exit-left { z-index: 0; left: -28%; opacity: 0; filter: blur(18px) saturate(.62); transform: scale(.86) rotateY(-34deg); }
.vicando-slideshow-focus .vicando-slide.is-focus-exit-right { z-index: 0; left: 104%; opacity: 0; filter: blur(18px) saturate(.62); transform: scale(.86) rotateY(34deg); }
.vicando-slideshow-focus .is-focus-left:hover img,
.vicando-slideshow-focus .is-focus-right:hover img { transform: none !important; }
.vicando-slide-reflection { display: none; }
.vicando-slideshow-focus .is-focus-left .vicando-slide-reflection,
.vicando-slideshow-focus .is-focus-right .vicando-slide-reflection,
.vicando-slideshow-focus .is-focus-exit-left .vicando-slide-reflection,
.vicando-slideshow-focus .is-focus-exit-right .vicando-slide-reflection { position: absolute; z-index: 0; top: calc(100% + 8px); right: 0; left: 0; height: 28%; display: block; overflow: hidden; opacity: .24; pointer-events: none; transform: scaleY(-1); transform-origin: top center; -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.82), transparent 78%); mask-image: linear-gradient(to bottom, rgba(0,0,0,.82), transparent 78%); filter: blur(.35px) saturate(.8); }
.vicando-slideshow-focus .vicando-slide-reflection img { width: 100%; height: 100%; object-fit: cover; object-position: bottom; }
.vicando-slideshow-focus .is-focus-left .vicando-slide-caption,
.vicando-slideshow-focus .is-focus-right .vicando-slide-caption,
.vicando-slideshow-focus .is-focus-enter-left .vicando-slide-caption,
.vicando-slideshow-focus .is-focus-enter-right .vicando-slide-caption,
.vicando-slideshow-focus .is-focus-exit-left .vicando-slide-caption,
.vicando-slideshow-focus .is-focus-exit-right .vicando-slide-caption { display: none; }
.vicando-slideshow-focus .is-focus-left::after,
.vicando-slideshow-focus .is-focus-right::after,
.vicando-slideshow-focus .is-focus-enter-left::after,
.vicando-slideshow-focus .is-focus-enter-right::after,
.vicando-slideshow-focus .is-focus-exit-left::after,
.vicando-slideshow-focus .is-focus-exit-right::after { opacity: 0; }
.vicando-slideshow-focus .vicando-slide-dots { display: none !important; }
.vicando-slideshow-focus .vicando-slide-control { top: 50%; width: 34px; height: 54px; color: rgba(255,255,255,.88); background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.vicando-slideshow-focus .vicando-slide-prev { right: auto; left: 22.5%; transform: translate(-50%,-50%); }
.vicando-slideshow-focus .vicando-slide-next { right: 22.5%; left: auto; transform: translate(50%,-50%); }
.vicando-slideshow-focus .vicando-slide-control:hover,
.vicando-slideshow-focus .vicando-slide-control:focus { color: rgba(255,255,255,.88); background: transparent; }
@media (max-width: 900px) {
  .vicando-slideshow-focus .vicando-slide.is-focus-center { left: 0; width: 70%; }
  .vicando-slideshow-focus .vicando-slide.is-focus-right { left: 72%; width: 28%; }
  .vicando-slideshow-focus .vicando-slide-prev { left: 12px; transform: translateY(-50%); }
  .vicando-slideshow-focus .vicando-slide-next { right: 12px; transform: translateY(-50%); }
}
@media (max-width: 620px) {
  .vicando-slideshow-focus .vicando-slideshow-track { padding: 0; }
  .vicando-slideshow-focus .vicando-slide.is-focus-center { top: 0; left: 0; width: 100%; height: 100%; transform: none; }
  .vicando-slideshow-focus .vicando-slide.is-focus-enter-right, .vicando-slideshow-focus .vicando-slide.is-focus-exit-right { left: 104%; width: 100%; height: 100%; }
  .vicando-slideshow-focus .vicando-slide.is-focus-enter-left, .vicando-slideshow-focus .vicando-slide.is-focus-exit-left { left: -104%; width: 100%; height: 100%; }
  .vicando-slideshow-focus .vicando-slide-prev { left: 0; }
  .vicando-slideshow-focus .vicando-slide-next { right: 0; }
}
@keyframes vicando-triple-reveal { from { opacity: 0; transform: translateY(8px) scale(1.012); } to { opacity: 1; transform: translateY(0) scale(1); } }
.vicando-lightbox { position: fixed; z-index: 5000; inset: 0; display: flex; align-items: center; justify-content: center; padding: clamp(18px, 4vw, 48px); background: rgba(12,16,24,.58); backdrop-filter: blur(18px) saturate(125%); -webkit-backdrop-filter: blur(18px) saturate(125%); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; cursor: zoom-out; }
.vicando-lightbox.is-open { opacity: 1; visibility: visible; }
.vicando-lightbox-stage { max-width: 100%; max-height: 100%; display: grid; place-items: center; }
.vicando-lightbox-stage img { display: block; width: auto; height: auto; max-width: 94vw; max-height: 90vh; object-fit: contain; background: rgba(0,0,0,.2); box-shadow: 0 24px 80px rgba(0,0,0,.55); cursor: default; }
.vicando-lightbox-close { position: fixed; z-index: 2; top: 18px; right: 20px; width: 48px; height: 48px; display: grid; place-items: center; padding: 0 0 4px; color: #fff; background: rgba(0,0,0,.38); border: 1px solid rgba(255,255,255,.42); border-radius: 0; font: 300 2.1rem/1 Arial,sans-serif; cursor: pointer; }
.vicando-lightbox-close:hover, .vicando-lightbox-close:focus { color: #fff; background: var(--vc-accent); }
body.vicando-lightbox-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .vicando-slide { transition: none; } }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 12px;
  background: var(--vc-accent);
  color: white;
  font-weight: 700;
  border: 1px solid transparent;
}
.button:hover { background: var(--vc-accent-hover); color: white; }
.button-secondary { background: transparent; color: var(--vc-text); border-color: var(--vc-border); }
.button-secondary:hover { background: #f4f6f8; color: var(--vc-text); }
.hero-media { min-height: 480px; border-radius: 28px; overflow: hidden; background: linear-gradient(135deg,#dce7ff,#f5f7fb); box-shadow: var(--vc-shadow); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; }
.hero-placeholder { height: 100%; min-height: 480px; display: grid; place-items: center; color: var(--vc-muted); text-align: center; padding: 32px; }

.section { padding: 34px 0 72px; }
.section-header { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 24px; }
.section-title { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.03em; }
.section-intro { max-width: 650px; color: var(--vc-muted); }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.vicando-home-news-rows { display: grid; gap: 22px; }
.card { background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: var(--vc-radius); overflow: hidden; box-shadow: 0 6px 22px rgba(16,24,40,.05); }
.card-image { aspect-ratio: 16/10; background: #e9edf4; overflow: hidden; }
.card-image img { width: 100%; height: 100%; object-fit: cover; }
.card-body { padding: 24px; }
.card-title { margin: 0 0 10px; font-size: 1.25rem; }
.card-meta { color: var(--vc-muted); font-size: .9rem; margin-bottom: 10px; }
.card-excerpt { color: var(--vc-muted); }

.news-page { min-width: 0; }
.vicando-news-main { min-width: 0; }
.news-page-title { margin: 0 0 28px; font-size: clamp(2rem, 4vw, 3.27rem); letter-spacing: -.035em; }
.news-page-summary { margin: -12px 0 28px; color: var(--vc-muted); font-size: 1.02rem; }
.news-page-summary > *:first-child { margin-top: 0; }
.news-page-summary > *:last-child { margin-bottom: 0; }
.news-list { display: grid; gap: 24px; }
.news-card { display: grid; grid-template-columns: minmax(220px, 34%) minmax(0, 1fr); overflow: hidden; background: var(--vc-surface); border: 1px solid var(--vc-border); box-shadow: var(--vc-shadow); }
.news-card:not(.has-post-thumbnail) { grid-template-columns: 1fr; }
.news-card-image { display: block; min-height: 260px; overflow: hidden; background: color-mix(in srgb, var(--vc-surface) 86%, var(--vc-text)); }
.news-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.news-card-image:hover img { transform: scale(1.035); }
.news-card-body { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(24px, 4vw, 40px); }
.news-card-title { margin: 0 0 8px; font-size: clamp(1.4rem, 2.7vw, 2rem); line-height: 1.2; letter-spacing: -.02em; }
.news-card-title a { color: var(--vc-text); }
.news-card-title a:hover { color: var(--vc-accent); }
.news-card-author { color: inherit; font-weight: 650; text-decoration: none; }
.news-card-author:hover, .news-card-author:focus { color: var(--vc-accent); text-decoration: underline; }
.author-page-header { display: flex; align-items: center; gap: 24px; margin-bottom: 28px; }
.author-page-avatar { width: 112px; height: 112px; flex: 0 0 112px; object-fit: cover; border-radius: 50%; }
.author-page-description > :last-child { margin-bottom: 0; }
@media (max-width: 560px) { .author-page-header { align-items: flex-start; gap: 16px; } .author-page-avatar { width: 72px; height: 72px; flex-basis: 72px; } }
.news-card-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 18px; color: var(--vc-muted); font-size: .88rem; }
.news-card-excerpt { margin: 0 0 24px; color: var(--vc-muted); }
.news-read-more { margin-top: auto; border-radius: 0; }
.news-empty { padding: 28px; background: var(--vc-surface); border: 1px solid var(--vc-border); }
.news-pagination { margin-top: 32px; }
.vicando-news-index .news-list { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; }
.vicando-news-index .news-card { height: 100%; grid-template-columns: minmax(0,1fr); }
.vicando-news-index .news-card-image { min-height: 0; aspect-ratio: 4/3; }
.vicando-news-index .news-card-body { min-height: 300px; }
.vicando-news-filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; margin: 0 0 24px; padding: 16px; background: var(--vc-surface); border: 1px solid var(--vc-border); }
.vicando-news-filter label { color: var(--vc-text); font-size: .9rem; font-weight: 700; }
.vicando-news-filter select { min-width: min(260px,100%); min-height: 42px; padding: 7px 34px 7px 12px; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); border-radius: 0; }
.vicando-news-bottom { margin-top: 24px; padding: 26px; overflow: hidden; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: var(--vc-radius); }
.vicando-news-bottom > h2 { margin: 0 0 18px; font-size: clamp(1.35rem,2.5vw,1.8rem); }
.vicando-news-bottom-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.vicando-news-bottom-card { min-width: 0; overflow: hidden; border: 1px solid var(--vc-border); }
.vicando-news-bottom-card > a { height: 100%; display: flex; flex-direction: column; color: var(--vc-text); text-decoration: none; }
.vicando-news-bottom-image { display: block; aspect-ratio: 4/3; overflow: hidden; background: color-mix(in srgb,var(--vc-surface) 84%,var(--vc-text)); }
.vicando-news-bottom-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s ease; }
.vicando-news-bottom-card > a:hover img, .vicando-news-bottom-card > a:focus img { transform: scale(1.04); }
.vicando-news-bottom-copy { flex: 1 1 auto; display: flex; flex-direction: column; gap: 6px; padding: 14px; border-top: 3px solid var(--vc-accent); }
.vicando-news-bottom-copy time { color: var(--vc-muted); font-size: .78rem; }
.vicando-news-bottom-copy strong { color: var(--vc-text); font-size: 1rem; line-height: 1.35; }
.vicando-news-author-dialog { width: min(760px,calc(100vw - 44px)); height: auto; max-width: 760px; max-height: min(760px,calc(100dvh - 44px)); overflow-y: auto; }
.vicando-news-author-dialog[open] { display: block; }
.vicando-news-author-dialog .vicando-photographer-dialog-profile { padding-right: 32px; }
.vicando-news-author-dialog .vicando-photographer-dialog-portrait img { border-radius: 0; }
@media (max-width: 900px) { .vicando-news-bottom-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

.content-layout { display: grid; grid-template-columns: minmax(0,7fr) minmax(280px,3fr); gap: 28px; padding: 28px 0 54px; }
.content-layout > *, .content-area, .sidebar { min-width: 0; max-width: 100%; }
.vicando-portfolio-main { min-width: 0; }
.vicando-portfolio-layout > .sidebar { position: static; align-self: stretch; height: auto; max-height: none; overflow: visible; }
.vicando-portfolio-frame { width: 100%; }
.vicando-portfolio-category-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 24px; }
.vicando-portfolio-category-card { min-width: 0; overflow: hidden; background: var(--vc-surface); border: 1px solid var(--vc-border); }
.vicando-portfolio-category-card > a { display: block; color: var(--vc-text); text-decoration: none; }
.vicando-portfolio-category-image { display: block; aspect-ratio: 4/3; overflow: hidden; background: color-mix(in srgb,var(--vc-surface) 84%,var(--vc-text)); }
.vicando-portfolio-category-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s ease; }
.vicando-portfolio-category-card a:hover img, .vicando-portfolio-category-card a:focus img { transform: scale(1.035); }
.vicando-portfolio-category-copy { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 18px; border-top: 3px solid var(--vc-accent); }
.vicando-portfolio-category-copy strong { font-size: 1.18rem; }
.vicando-portfolio-category-copy span { color: var(--vc-muted); font-size: .86rem; white-space: nowrap; }
.vicando-portfolio-empty { margin-top: 22px; padding: 24px; border: 1px solid var(--vc-border); }
.vicando-portfolio-empty p { margin: 0; }
.vicando-portfolio-description { margin: -4px 0 22px; color: var(--vc-muted); }
.vicando-portfolio-toolbar { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px; margin: 10px 0 24px; padding: 16px 0; border-top: 1px solid var(--vc-border); border-bottom: 1px solid var(--vc-border); }
.vicando-portfolio-back { color: var(--vc-accent); font-weight: 700; text-decoration: none; }
.vicando-portfolio-back:hover, .vicando-portfolio-back:focus { color: var(--vc-accent-hover); text-decoration: underline; }
.vicando-portfolio-toolbar form { display: flex; align-items: center; gap: 10px; }
.vicando-portfolio-toolbar label { color: var(--vc-text); font-size: .9rem; font-weight: 700; }
.vicando-portfolio-toolbar select { min-height: 42px; padding: 7px 34px 7px 12px; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: 0; }
.vicando-portfolio-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.vicando-portfolio-gallery-item { position: relative; min-width: 0; margin: 0; overflow: hidden; background: var(--vc-surface); border: 1px solid var(--vc-border); }
.vicando-portfolio-gallery-item .vicando-slide-lightbox-trigger { position: relative; inset: auto; width: 100%; height: auto; display: block; aspect-ratio: 4/3; overflow: hidden; }
.vicando-portfolio-gallery-item .vicando-slide-lightbox-trigger img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s ease; }
.vicando-portfolio-gallery-item .vicando-slide-lightbox-trigger:hover img, .vicando-portfolio-gallery-item .vicando-slide-lightbox-trigger:focus img { transform: scale(1.045); }
.vicando-portfolio-photographer { position: absolute; z-index: 2; right: 12px; bottom: 12px; left: 12px; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 13px; color: #fff !important; background: rgba(8,10,14,.78); border-left: 3px solid var(--vc-accent); text-decoration: none; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.vicando-portfolio-photographer:hover, .vicando-portfolio-photographer:focus { color: #fff !important; background: rgba(8,10,14,.78); text-decoration: none; }
.vicando-portfolio-photographer strong { color: #fff; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.vicando-portfolio-photographer span { color: #fff; font-size: .9rem; font-weight: 400; }
.vicando-portfolio-photographer .vicando-photographer-logo { width: auto; height: auto; max-width: 76px; max-height: 26px; margin-left: auto; flex: 0 0 auto; object-fit: contain; }
.vicando-photographer-header { display: grid; grid-template-columns: minmax(160px,240px) minmax(0,1fr); align-items: start; gap: clamp(22px,4vw,42px); }
.vicando-photographer-portrait { aspect-ratio: 1/1; overflow: hidden; border: 1px solid var(--vc-border); }
.vicando-photographer-portrait img { width: 100%; height: 100%; display: block; object-fit: cover; }
.vicando-photographer-label { margin: 0 0 5px; color: var(--vc-accent); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.vicando-photographer-header .entry-title { margin-top: 0; }
.vicando-photographer-header .entry-content > :last-child { margin-bottom: 0; }
.vicando-photographer-gallery { margin-top: 36px; padding-top: 26px; border-top: 1px solid var(--vc-border); }
.vicando-photographer-gallery > h2 { margin: 0 0 20px; }
.vicando-photographer-overlay { position: fixed; z-index: 1000000; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(3,5,9,.76); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.vicando-photographer-overlay[hidden] { display: none; }
.vicando-photographer-dialog { position: relative; width: min(760px,100%); max-height: min(760px,calc(100dvh - 44px)); padding: clamp(22px,4vw,36px); overflow-y: auto; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); box-shadow: 0 28px 90px rgba(0,0,0,.55); }
.vicando-photographer-dialog-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 40px; height: 40px; padding: 0; color: var(--vc-text); background: transparent; border: 0; border-radius: 0; font: 300 2rem/1 Arial,sans-serif; cursor: pointer; }
.vicando-photographer-dialog-close:hover, .vicando-photographer-dialog-close:focus { color: var(--vc-accent); background: transparent; }
.vicando-photographer-dialog-profile { display: grid; grid-template-columns: minmax(150px,220px) minmax(0,1fr); align-items: start; gap: clamp(22px,4vw,38px); padding-right: 32px; }
.vicando-photographer-dialog-portrait { aspect-ratio: 1/1; overflow: hidden; border: 1px solid var(--vc-border); }
.vicando-photographer-dialog-portrait img { width: 100%; height: 100%; display: block; object-fit: cover; }
.vicando-photographer-dialog-profile h2 { margin: 0 0 14px; }
.vicando-photographer-dialog-information > :first-child { margin-top: 0; }
.vicando-photographer-dialog-information > :last-child { margin-bottom: 0; }
body.vicando-photographer-dialog-open { overflow: hidden; }
.vicando-lightbox-stage { position: relative; }
.vicando-lightbox-stage:has(.vicando-lightbox-meta:not([hidden])) img { max-height: calc(90vh - 48px); }
.vicando-lightbox-meta { width: 100%; min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 8px 13px; color: #fff; background: rgba(8,10,14,.88); border-left: 3px solid var(--vc-accent); backdrop-filter: blur(8px); }
.vicando-lightbox-meta[hidden] { display: none; }
.vicando-lightbox-meta strong { color: #fff; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.vicando-lightbox-meta a, .vicando-lightbox-meta a:hover, .vicando-lightbox-meta a:focus { color: #fff !important; font-size: .9rem; font-weight: 400; text-decoration: none; }
.vicando-lightbox-photographer-logo { width: auto !important; height: auto !important; max-width: 76px !important; max-height: 26px !important; margin-left: auto; flex: 0 0 auto; object-fit: contain !important; background: transparent !important; box-shadow: none !important; }
.vicando-lightbox-photographer-logo[hidden] { display: none; }
.vicando-portfolio-related { margin-top: 24px; padding: 26px; overflow: hidden; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: var(--vc-radius); }
.vicando-portfolio-related-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.vicando-portfolio-related-heading h2 { margin: 0; font-size: clamp(1.35rem,2.5vw,1.8rem); }
.vicando-portfolio-related-window { overflow: hidden; }
.vicando-portfolio-related-track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.vicando-portfolio-related-card { min-width: calc((100% - 36px)/3); margin: 0; border: 1px solid var(--vc-border); }
.vicando-portfolio-related-card a { display: flex; flex-direction: column; color: var(--vc-text); text-decoration: none; }
.vicando-portfolio-related-copy { order: 2; min-height: 94px; padding: 13px 14px; border-top: 3px solid var(--vc-accent); }
.vicando-portfolio-related-card h3 { margin: 0 0 6px; font-size: 1rem; }
.vicando-portfolio-related-card p { margin: 0; color: var(--vc-muted); font-size: .82rem; line-height: 1.45; }
.vicando-portfolio-related-card span { order: 1; display: block; aspect-ratio: 4/3; overflow: hidden; }
.vicando-portfolio-related-card img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s ease; }
.vicando-portfolio-related-card a:hover img, .vicando-portfolio-related-card a:focus img { transform: scale(1.04); }
@media (max-width: 900px) {
  .vicando-portfolio-related-card { min-width: calc((100% - 18px)/2); }
  .vicando-portfolio-related-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .vicando-portfolio-category-grid, .vicando-portfolio-gallery { grid-template-columns: minmax(0,1fr); }
  .vicando-portfolio-toolbar { align-items: flex-start; }
  .vicando-portfolio-toolbar form { width: 100%; align-items: flex-start; flex-direction: column; }
  .vicando-portfolio-toolbar select { width: 100%; }
  .vicando-portfolio-related { padding: 20px; }
  .vicando-portfolio-related-card { min-width: 100%; }
  .vicando-portfolio-related-track { grid-template-columns: minmax(0,1fr); }
  .vicando-photographer-header { grid-template-columns: minmax(0,1fr); }
  .vicando-photographer-portrait { width: min(260px,100%); }
  .vicando-photographer-dialog-profile { grid-template-columns: minmax(0,1fr); padding-right: 18px; }
  .vicando-photographer-dialog-portrait { width: min(220px,100%); }
  .vicando-news-filter { align-items: flex-start; flex-direction: column; }
  .vicando-news-filter select { width: 100%; }
  .vicando-news-index .news-list { grid-template-columns: minmax(0,1fr); }
  .vicando-news-index .news-card-body { min-height: 0; }
  .vicando-news-bottom { padding: 20px; }
  .vicando-news-bottom-grid { grid-template-columns: minmax(0,1fr); }
}
.error-page { position: relative; padding: clamp(34px, 6vw, 82px) 0 clamp(58px, 8vw, 110px); overflow: hidden; }
.error-page::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .18; background-image: linear-gradient(var(--vc-border) 1px, transparent 1px), linear-gradient(90deg, var(--vc-border) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(to bottom, #000, transparent 88%); }
.error-page-inner { display: flex; justify-content: center; }
.error-console { width: min(880px, 100%); overflow: hidden; color: var(--vc-text); background: color-mix(in srgb, var(--vc-surface) 94%, transparent); border: 1px solid var(--vc-border); box-shadow: 0 24px 70px rgba(0,0,0,.18); }
.error-console-bar { min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 8px 15px; color: var(--vc-muted); background: color-mix(in srgb, var(--vc-text) 7%, var(--vc-surface)); border-bottom: 1px solid var(--vc-border); font-size: .78rem; }
.error-console-bar > span { width: 10px; height: 10px; border-radius: 50%; background: var(--vc-accent); }
.error-console-bar > span:nth-child(2) { opacity: .65; }
.error-console-bar > span:nth-child(3) { opacity: .35; }
.error-console-bar code { margin-left: 6px; color: inherit; }
.error-console-body { position: relative; padding: clamp(28px, 6vw, 68px); }
.error-console-body::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .035; background: repeating-linear-gradient(to bottom, transparent 0 3px, currentColor 4px); }
.error-status { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; color: var(--vc-muted); font: 600 .76rem/1.4 "Courier New", monospace; letter-spacing: .06em; }
.error-status span { width: 8px; height: 8px; border-radius: 50%; background: var(--vc-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--vc-accent) 18%, transparent); }
.error-code { margin: 0; color: var(--vc-accent); font: 800 clamp(5rem, 18vw, 11rem)/.82 "Courier New", monospace; letter-spacing: -.1em; text-shadow: 3px 3px 0 color-mix(in srgb, var(--vc-accent) 18%, transparent); }
.error-console h1 { max-width: 700px; margin: 25px 0 12px; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.05; }
.error-message { max-width: 680px; margin: 0; color: var(--vc-muted); font-size: 1.05rem; }
.error-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin-top: 30px; }
.error-home-button { gap: 8px; border-radius: 0; }
.error-search-form { min-width: min(100%, 390px); display: flex; flex: 1 1 360px; height: 48px; }
.error-search-form input { min-width: 0; flex: 1; height: 48px; padding: 10px 13px; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: 0; }
.error-search-form button { min-width: 76px; height: 48px; padding: 0 18px; color: #fff; background: var(--vc-accent); border: 0; border-radius: 0; font: inherit; font-weight: 700; cursor: pointer; }
.error-search-form button:hover, .error-search-form button:focus { background: var(--vc-accent-hover); }
.error-console-line { margin: 32px 0 0; color: var(--vc-muted); font: .78rem/1.7 "Courier New", monospace; word-break: break-word; }
.error-console-line > span { color: var(--vc-accent); }
.error-cursor { display: inline-block; animation: vicando-cursor 1s steps(1) infinite; }
@keyframes vicando-cursor { 50% { opacity: 0; } }
.content-area { background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: var(--vc-radius); padding: 30px; }
.sidebar { width: 100%; display: grid; gap: 18px; align-content: start; padding: 30px; background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: var(--vc-radius); }
.sidebar .widget, .entry-content, .widget { min-width: 0; overflow-wrap: anywhere; word-break: normal; }
.sidebar > .widget { width: 100%; margin: 0; padding: 22px; background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: 0; box-shadow: none; }
.sidebar > .widget:empty { display: none; }
.sidebar > .widget .widget-title, .sidebar > .widget > h2:first-child { margin: 0 0 16px; padding: 0 0 11px; color: var(--vc-text); background: transparent; border-bottom: 3px solid var(--vc-accent); font-size: .92rem; line-height: 1.25; text-transform: uppercase; letter-spacing: .045em; }
.sidebar .vicando-activities-widget { padding: 22px; overflow: visible; }
.vicando-activities-widget .widget-title { margin: 0 0 12px; font-size: .95rem; text-transform: uppercase; letter-spacing: .03em; }
.sidebar > .widget ul,
.sidebar > .widget ol:not(.vicando-activity-list) { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.sidebar > .widget li { margin: 0; line-height: 1.5; }
.sidebar > .widget li + li { padding-top: 9px; border-top: 1px solid var(--vc-border); }
.sidebar > .widget a:not(.button):not(.vicando-activity-calendar-link) { color: var(--vc-text); text-decoration: none; }
.sidebar > .widget a:not(.button):not(.vicando-activity-calendar-link):hover,
.sidebar > .widget a:not(.button):not(.vicando-activity-calendar-link):focus { color: var(--vc-accent); }
.vicando-activity-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.vicando-activity-item { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 7px; min-width: 0; }
.vicando-activity-item time { display: grid; align-content: center; justify-items: center; min-height: 66px; padding: 6px 4px; color: var(--vc-text); background: color-mix(in srgb,var(--vc-text) 5%,var(--vc-surface)); border: 1px solid var(--vc-border); line-height: 1; }
.vicando-activity-item time strong { color: var(--vc-accent); font-size: 1.45rem; font-weight: 800; }
.vicando-activity-item time span { margin-top: 4px; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.vicando-activity-card { display: flex; min-width: 0; min-height: 66px; flex-direction: column; color: #fff; background: var(--vc-accent); transition: background-color .18s ease; }
.vicando-activity-card:hover, .vicando-activity-card:focus-within { background: var(--vc-accent-hover); }
.vicando-activity-main-link { display: flex; width: 100%; min-width: 0; flex: 1 1 auto; flex-direction: column; justify-content: center; padding: 9px 14px 5px; overflow-wrap: anywhere; color: #fff; background: transparent; border: 0; border-radius: 0; text-align: left; text-decoration: none; font: inherit; cursor: pointer; }
.vicando-activity-main-link:hover, .vicando-activity-main-link:focus { color: #fff; }
.vicando-activity-main-link strong { font-size: .93rem; line-height: 1.22; text-transform: uppercase; }
.vicando-activity-main-link span { margin-top: 4px; color: rgba(255,255,255,.78); font-size: .72rem; line-height: 1.25; }
.vicando-activity-calendar-link { display: flex; align-items: center; gap: 4px; padding: 4px 14px 7px; color: rgba(255,255,255,.82); font-size: .68rem; font-weight: 700; text-decoration: none; }
.vicando-activity-calendar-link:hover, .vicando-activity-calendar-link:focus { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.vicando-activity-calendar-link span { font-size: .9rem; line-height: 1; }
.vicando-calendar-navigation { display: grid; grid-template-columns: auto minmax(150px,1fr) auto; align-items: center; gap: 14px; margin: 24px 0 18px; }
.vicando-calendar-navigation h2 { margin: 0; color: var(--vc-text); font-size: clamp(1.15rem,3vw,1.65rem); text-align: center; }
.vicando-calendar-heading { display: grid; justify-items: center; gap: 7px; }
.vicando-calendar-heading form { display: flex; align-items: center; gap: 6px; color: var(--vc-muted); font-size: .75rem; font-weight: 700; }
.vicando-calendar-heading select { min-height: 32px; padding: 3px 26px 3px 8px; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: 0; font: inherit; }
.vicando-calendar-navigation a { display: inline-flex; width: auto; min-height: 42px; align-items: center; justify-content: center; gap: 7px; padding: 8px 14px; color: #fff; background: var(--vc-accent); border-radius: 6px; text-decoration: none; font-weight: 700; white-space: nowrap; }
.vicando-calendar-navigation a:first-child { justify-self: start; }
.vicando-calendar-navigation a:last-child { justify-self: end; }
.vicando-calendar-navigation a:hover, .vicando-calendar-navigation a:focus { color: #fff; background: var(--vc-accent-hover); }
.vicando-calendar-navigation a span { font-size: 1.45rem; line-height: .7; }
.vicando-month-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 5px; }
.vicando-calendar-weekday { padding: 8px 3px; color: var(--vc-muted); font-size: .72rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.vicando-calendar-blank { min-height: 82px; background: color-mix(in srgb,var(--vc-text) 2%,transparent); }
.vicando-calendar-day { position: relative; min-width: 0; min-height: 82px; display: flex; align-items: flex-start; justify-content: flex-start; padding: 9px; color: var(--vc-text); background: color-mix(in srgb,var(--vc-text) 4%,var(--vc-surface)); border: 1px solid var(--vc-border); border-radius: 0; font: inherit; cursor: pointer; transition: color .16s ease,background-color .16s ease,border-color .16s ease; }
.vicando-calendar-day > span { font-size: .92rem; font-weight: 750; }
.vicando-calendar-day > b { position: absolute; top: 7px; right: 7px; display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; color: #fff; background: var(--vc-accent); font-size: .68rem; }
.vicando-calendar-day > i { position: absolute; right: 9px; bottom: 9px; left: 9px; height: 4px; background: var(--vc-accent); }
.vicando-calendar-day:hover, .vicando-calendar-day:focus { color: #fff; background: var(--vc-accent); border-color: var(--vc-accent); outline: none; }
.vicando-calendar-day:hover > b, .vicando-calendar-day:focus > b { color: var(--vc-accent); background: #fff; }
.vicando-calendar-day:hover > i, .vicando-calendar-day:focus > i { background: #fff; }
.vicando-calendar-day.is-today { box-shadow: inset 0 0 0 2px var(--vc-accent); }
body.vicando-calendar-open { overflow: hidden; }
.vicando-calendar-overlay { position: fixed; z-index: 1000000; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(3,5,9,.76); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.vicando-calendar-overlay[hidden] { display: none; }
.vicando-calendar-dialog { position: relative; width: min(700px,100%); max-height: min(760px,calc(100dvh - 44px)); padding: clamp(22px,4vw,36px); overflow-y: auto; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); box-shadow: 0 28px 90px rgba(0,0,0,.55); }
.vicando-calendar-dialog > h2 { margin: 0 45px 5px 0; font-size: clamp(1.45rem,4vw,2.2rem); }
.vicando-calendar-dialog-close { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; padding: 0; color: var(--vc-text); background: transparent; border: 0; border-radius: 0; font: 300 2rem/1 Arial,sans-serif; cursor: pointer; }
.vicando-calendar-dialog-close:hover, .vicando-calendar-dialog-close:focus { color: var(--vc-accent); }
.member-account-close,
.vicando-member-dialog-close,
.member-chat-close,
.vicando-photographer-dialog-close,
.vicando-calendar-dialog-close,
.vicando-lightbox-close { width: 36px; height: 36px; display: grid; place-items: center; padding: 0 0 2px; color: #9ca3ad !important; background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none; font: 300 1.55rem/1 Arial,sans-serif; text-decoration: none; opacity: .72; cursor: pointer; transition: color .16s ease,opacity .16s ease; }
.member-account-close:hover, .member-account-close:focus,
.vicando-member-dialog-close:hover, .vicando-member-dialog-close:focus,
.member-chat-close:hover, .member-chat-close:focus,
.vicando-photographer-dialog-close:hover, .vicando-photographer-dialog-close:focus,
.vicando-calendar-dialog-close:hover, .vicando-calendar-dialog-close:focus,
.vicando-lightbox-close:hover, .vicando-lightbox-close:focus { color: #d1d5db !important; background: transparent !important; opacity: 1; outline: none; }
.member-login-overlay .member-account-close { color: #9ca3ad !important; }
.member-login-overlay .member-account-close:hover, .member-login-overlay .member-account-close:focus { color: #d1d5db !important; }
.vicando-calendar-dialog-date { margin-bottom: 18px; color: var(--vc-muted); font-weight: 700; }
.vicando-calendar-dialog-events { display: grid; gap: 12px; }
.vicando-calendar-dialog-events article { padding: 16px; background: color-mix(in srgb,var(--vc-text) 4%,var(--vc-surface)); border-left: 4px solid var(--vc-accent); }
.vicando-calendar-dialog-events article time { color: var(--vc-accent); font-size: .78rem; font-weight: 800; }
.vicando-calendar-dialog-events article h3 { margin: 5px 0; font-size: 1.08rem; }
.vicando-calendar-dialog-events article h3 a { color: var(--vc-text); text-decoration: none; }
.vicando-calendar-dialog-events article h3 a:hover, .vicando-calendar-dialog-events article h3 a:focus { color: var(--vc-accent); }
.vicando-calendar-dialog-events article p { margin: 3px 0 10px; color: var(--vc-muted); }
.vicando-calendar-add { color: var(--vc-accent); font-size: .78rem; font-weight: 750; text-decoration: none; }
.vicando-calendar-add:hover, .vicando-calendar-add:focus { text-decoration: underline; text-underline-offset: 3px; }
.vicando-calendar-empty { margin: 18px 0 0; color: var(--vc-muted); }
.vicando-activity-dialog-time { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 18px; margin: 16px 0; padding: 12px 0; color: var(--vc-accent); border-block: 1px solid var(--vc-border); }
.vicando-activity-dialog-time span { color: var(--vc-muted); }
.vicando-activity-dialog-location { margin: 0 0 18px; }
.vicando-activity-dialog-description { margin: 0 0 22px; line-height: 1.65; }
.vicando-activity-dialog-description > *:first-child { margin-top: 0; }
.vicando-activity-dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.vicando-activity-dialog-actions .button { display: inline-flex; min-height: 42px; align-items: center; padding: 8px 14px; color: #fff; background: var(--vc-accent); text-decoration: none; font-weight: 700; }
.vicando-activity-dialog-actions .button:hover, .vicando-activity-dialog-actions .button:focus { color: #fff; background: var(--vc-accent-hover); }
@media (max-width: 420px) { .vicando-activity-item { grid-template-columns: 54px minmax(0,1fr); } .vicando-activity-item time, .vicando-activity-card { min-height: 60px; } }
@media (max-width: 680px) {
  .vicando-calendar-page { min-width: 0; overflow: visible; }
  .vicando-calendar-navigation { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .vicando-calendar-heading { grid-column: 1/-1; grid-row: 1; }
  .vicando-calendar-navigation a { grid-row: 2; width: auto; min-width: 0; padding-inline: 10px; font-size: .78rem; }
  .vicando-month-calendar { display: grid !important; width: 100%; min-width: 0; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 3px; visibility: visible; opacity: 1; }
  .vicando-calendar-weekday { min-width: 0; padding-inline: 0; overflow: hidden; font-size: .62rem; }
  .vicando-calendar-blank,
  .vicando-calendar-day { min-width: 0; min-height: 58px; }
  .vicando-calendar-day { display: flex !important; padding: 6px; visibility: visible; opacity: 1; }
  .vicando-calendar-day > b { top: 4px; right: 4px; display: grid !important; min-width: 18px; height: 18px; }
  .vicando-calendar-day > i { right: 6px; bottom: 6px; left: 6px; display: block !important; height: 3px; }
  .vicando-calendar-overlay { padding: 10px; }
  .vicando-calendar-dialog { width: 100%; max-height: calc(100dvh - 20px); }
  .vicando-calendar-dialog-events { display: grid !important; width: 100%; min-width: 0; }
}
.sidebar .widget_search .widget-title,
.sidebar .wp-block-search__label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.sidebar .search-form,
.sidebar .wp-block-search__inside-wrapper { width: 100%; max-width: 100%; display: flex; flex-wrap: nowrap; align-items: stretch; gap: 0; }
.sidebar .search-form label { min-width: 0; display: flex; flex: 1 1 auto; }
.sidebar .search-field,
.sidebar .wp-block-search__input { width: 100%; min-width: 0; height: 46px; flex: 1 1 auto; padding: 9px 11px; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: 0; }
.sidebar .search-submit,
.sidebar .wp-block-search__button { min-width: max-content; height: 46px; flex: 0 0 auto; margin: 0; padding: 0 14px; white-space: nowrap; color: #fff; background: var(--vc-accent); border: 0; border-radius: 0; font: inherit; font-weight: 700; }
.sidebar .search-submit:hover, .sidebar .search-submit:focus,
.sidebar .wp-block-search__button:hover, .sidebar .wp-block-search__button:focus { color: #fff; background: var(--vc-accent-hover); }
.entry-content iframe, .entry-content video, .entry-content embed, .entry-content object { max-width: 100%; }
.entry-content table, .widget table { width: 100%; max-width: 100%; display: block; overflow-x: auto; border-collapse: collapse; }
.entry-content pre, .widget pre { max-width: 100%; overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.entry-title { margin-top: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.08; }
.entry-meta { color: var(--vc-muted); margin-bottom: 24px; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child { margin-bottom: 0; }
.single-post-page { overflow: hidden; }
.single-post-header { max-width: 850px; margin: 0 auto 28px; }
.single-post-header .entry-title { margin-bottom: 18px; }
.single-post-header .news-card-meta { margin-bottom: 0; }
.single-post-featured { width: calc(100% + 60px); max-height: 620px; margin: 0 -30px 34px; overflow: hidden; background: color-mix(in srgb, var(--vc-surface) 86%, var(--vc-text)); }
.single-post-featured img { width: 100%; max-height: 620px; object-fit: cover; }
.single-post-page .entry-content { max-width: 850px; margin-inline: auto; font-size: 1.04rem; }
.single-post-page .entry-content > p { line-height: 1.78; }
.single-post-share { max-width: 850px; margin: 42px auto 0; padding: 18px 0; border-top: 1px solid var(--vc-border); border-bottom: 1px solid var(--vc-border); }
.single-post-share > strong { display: block; margin-bottom: 10px; color: var(--vc-muted); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.single-post-share > div { display: flex; flex-wrap: wrap; gap: 8px; }
.single-post-share a, .single-post-print { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 9px; color: var(--vc-text); background: var(--vc-bg); border: 1px solid var(--vc-border); border-radius: 0; font: inherit; text-decoration: none; cursor: pointer; }
.single-post-share svg { width: 22px; height: 22px; fill: currentColor; }
.single-post-share a:hover, .single-post-share a:focus, .single-post-print:hover, .single-post-print:focus { color: #fff; background: var(--vc-accent); border-color: var(--vc-accent); }
.single-post-footer { max-width: 850px; margin: 46px auto 0; padding-top: 28px; border-top: 1px solid var(--vc-border); }
.single-post-author { display: flex; align-items: center; gap: 18px; padding: 22px; margin-bottom: 30px; background: color-mix(in srgb, var(--vc-surface) 91%, var(--vc-text)); border: 1px solid var(--vc-border); }
.single-post-author-avatar { width: 80px; height: 80px; flex: 0 0 80px; border-radius: 50%; object-fit: cover; }
.single-post-author-label { color: var(--vc-muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.single-post-author h2 { margin: 1px 0 4px; font-size: 1.25rem; }
.single-post-author h2 a { color: var(--vc-text); }
.single-post-author h2 a:hover, .single-post-author h2 a:focus { color: var(--vc-accent); }
.single-post-author p { margin: 0; color: var(--vc-muted); font-size: .92rem; }
.single-post-related { margin: 50px -30px 0; padding: clamp(26px,4vw,42px) 30px; background: var(--vc-bg); border-top: 1px solid var(--vc-border); border-bottom: 1px solid var(--vc-border); }
.single-post-related > h2 { max-width: 850px; margin: 0 auto 22px; font-size: clamp(1.35rem,2.5vw,1.8rem); }
.single-post-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.single-post-related-card { min-width: 0; overflow: hidden; background: var(--vc-surface); border: 1px solid var(--vc-border); }
.single-post-related-image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--vc-bg); }
.single-post-related-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.single-post-related-card:hover .single-post-related-image img { transform: scale(1.035); }
.single-post-related-card > div { padding: 16px; }
.single-post-related-card time { color: var(--vc-muted); font-size: .76rem; }
.single-post-related-card h3 { margin: 5px 0 8px; font-size: 1.08rem; line-height: 1.25; }
.single-post-related-card h3 a { color: var(--vc-text); text-decoration: none; }
.single-post-related-card h3 a:hover, .single-post-related-card h3 a:focus { color: var(--vc-accent); }
.single-post-related-card p { margin: 0; color: var(--vc-muted); font-size: .86rem; line-height: 1.55; }
.comments-area { max-width: 850px; margin: 52px auto 0; padding: clamp(22px,4vw,34px); background: var(--vc-bg); border: 2px solid var(--vc-border); }
.comments-area-header { margin: 0 0 26px; padding-bottom: 18px; border-bottom: 1px solid var(--vc-border); }
.comments-area-header > span { color: var(--vc-accent); font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.comments-area-header h2 { margin: 3px 0 4px; font-size: clamp(1.35rem,2.5vw,1.8rem); }
.comments-area-header p { margin: 0; color: var(--vc-muted); font-size: .88rem; }
.comment-list, .comment-list .children { margin: 0; padding: 0; list-style: none; }
.comment-list .children { margin-left: 32px; }
.comment-list .comment-body { margin-bottom: 14px; padding: 18px; background: var(--vc-surface); border: 1px solid var(--vc-border); }
.comment-list .comment-meta { margin-bottom: 12px; }
.comment-list .comment-author { display: flex; align-items: center; gap: 10px; }
.comment-list .avatar { border-radius: 50%; }
.comment-list .comment-metadata { margin: 5px 0 0 58px; font-size: .78rem; }
.comment-list .comment-content { margin-left: 58px; }
.comment-list .reply { margin-left: 58px; }
.comments-area .comment-respond { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--vc-border); }
.comments-area .comment-form { display: grid; gap: 12px; }
.comments-area .comment-form > p { margin: 0; }
.comments-area input:not([type="checkbox"]):not([type="submit"]), .comments-area textarea { width: 100%; padding: 10px 12px; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); border-radius: 0; font: inherit; }
.comments-area .form-submit input { color: #fff; background: var(--vc-accent); border: 0; border-radius: 0; cursor: pointer; }
.contact-page-header { max-width: none; margin: 0 0 26px; }
.contact-page-intro { max-width: 850px; margin: 0 auto 34px; font-size: 1.04rem; }
.contact-page-grid { display: grid; grid-template-columns: minmax(240px,.72fr) minmax(0,1.28fr); gap: 24px; align-items: stretch; }
.contact-page-grid-no-map { grid-template-columns: 1fr; }
.contact-details { min-width: 0; padding: clamp(22px, 3vw, 34px); background: color-mix(in srgb, var(--vc-surface) 91%, var(--vc-text)); border: 1px solid var(--vc-border); }
.contact-details h2 { margin: 0 0 24px; font-size: 1.45rem; }
.contact-detail + .contact-detail { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--vc-border); }
.contact-detail strong { display: block; margin-bottom: 4px; color: var(--vc-muted); font-size: .78rem; letter-spacing: .075em; text-transform: uppercase; }
.contact-detail address { color: var(--vc-text); font-style: normal; }
.contact-detail a { font-weight: 400; overflow-wrap: anywhere; }
.contact-map { min-width: 0; min-height: 430px; overflow: hidden; background: color-mix(in srgb, var(--vc-surface) 86%, var(--vc-text)); border: 1px solid var(--vc-border); }
.contact-map iframe { width: 100%; height: 100%; min-height: 430px; display: block; border: 0; }
@media (max-width: 760px) {
  .contact-page-grid { grid-template-columns: 1fr; }
  .contact-map, .contact-map iframe { min-height: 340px; }
}
.information-page-header { max-width: 850px; margin: 0 auto 28px; }
.information-page-featured { width: calc(100% + 60px); max-height: 520px; margin: 0 -30px 36px; overflow: hidden; background: color-mix(in srgb, var(--vc-surface) 86%, var(--vc-text)); }
.information-page-featured img { width: 100%; max-height: 520px; object-fit: cover; }
.information-page-body { max-width: 850px; margin-inline: auto; font-size: 1.04rem; }
.information-page-body > p { line-height: 1.78; }
.information-page-body h2 { margin-top: 2.1em; padding-bottom: 10px; border-bottom: 1px solid var(--vc-border); font-size: clamp(1.55rem, 3vw, 2.15rem); }
.information-page-body h3 { margin-top: 1.8em; color: var(--vc-text); font-size: 1.3rem; }
.information-page-body ul, .information-page-body ol { padding-left: 1.3em; }
.information-page-body li + li { margin-top: .42em; }
.information-page-body blockquote { margin: 30px 0; padding: 20px 24px; color: var(--vc-text); background: color-mix(in srgb, var(--vc-accent) 8%, var(--vc-surface)); border: 0; border-left: 4px solid var(--vc-accent); }
.information-page-body .wp-block-group.has-background { padding: clamp(20px, 3vw, 32px); }
.information-page-body table { width: 100%; border-collapse: collapse; }
.information-page-body th, .information-page-body td { padding: 11px 13px; text-align: left; border: 1px solid var(--vc-border); }
.information-page-body th { background: color-mix(in srgb, var(--vc-surface) 88%, var(--vc-text)); }
.vicando-leader-main { min-width: 0; }
.vicando-leader-page > .entry-title { margin-bottom: 28px; }
.vicando-leader-profile { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,36%); overflow: hidden; margin-bottom: 34px; background: color-mix(in srgb,var(--vc-surface) 90%,var(--vc-text)); border: 1px solid var(--vc-border); }
.vicando-leader-profile-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(26px,4vw,48px); }
.vicando-leader-profile-copy h2 { margin: 0 0 16px; font-size: clamp(1.65rem,3.2vw,2.6rem); }
.vicando-leader-profile-copy p { margin: 0; color: var(--vc-muted); line-height: 1.7; }
.vicando-leader-profile figure { min-height: 300px; margin: 0; }
.vicando-leader-profile img { width: 100%; height: 100%; display: block; object-fit: cover; }
.vicando-leader-latest, .vicando-leader-archive { padding-top: 28px; border-top: 1px solid var(--vc-border); }
.vicando-leader-archive { margin-top: 34px; }
.vicando-leader-latest > h2, .vicando-leader-archive > h2 { margin: 0 0 20px; font-size: clamp(1.45rem,3vw,2rem); }
.vicando-leader-archive .news-card-body { min-height: 280px; }
@media (max-width: 700px) {
  .vicando-leader-profile { grid-template-columns: 1fr; }
  .vicando-leader-profile figure { min-height: 260px; order: -1; }
}
@media (max-width: 620px) {
  .information-page-featured { width: calc(100% + 44px); margin-right: -22px; margin-left: -22px; }
}

.post-navigation, .pagination { margin-top: 30px; }
.nav-links { display: flex; justify-content: space-between; gap: 16px; }
.page-numbers { display: inline-flex; min-width: 40px; min-height: 40px; align-items: center; justify-content: center; padding: 0 12px; margin: 3px; border: 1px solid var(--vc-border); border-radius: 10px; background: white; }
.page-numbers.current { background: var(--vc-accent); color: white; border-color: var(--vc-accent); }

.site-footer { margin-top: 60px; background-color: var(--vc-footer-bg, #111827); background-image: var(--vc-footer-image, none); background-position: center; background-size: cover; background-repeat: no-repeat; color: #d1d5db; }
.footer-widget-band { background-color: var(--vc-footer-widgets-bg, #0b101b); background-image: var(--vc-footer-widgets-image, none); background-position: center; background-size: cover; background-repeat: no-repeat; box-shadow: inset 0 1px rgba(255,255,255,.08), inset 0 -1px rgba(0,0,0,.28); }
.footer-widgets { width: min(calc(100% - 32px), var(--vc-container)); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; padding: 54px 24px; background-color: var(--vc-footer-widgets-inner-bg, transparent); background-image: var(--vc-footer-widgets-inner-image, none); background-position: center; background-size: cover; background-repeat: no-repeat; }
.footer-widget-column { min-width: 0; padding: 24px; color: var(--vc-footer-column-text, inherit); background-color: var(--vc-footer-column-bg, transparent); background-image: var(--vc-footer-column-image, none); background-position: center; background-size: cover; background-repeat: no-repeat; }
.footer-widget-column-1 { --vc-footer-column-bg: var(--vc-footer-column-1-bg, transparent); --vc-footer-column-image: var(--vc-footer-column-1-image, none); --vc-footer-column-text: var(--vc-footer-column-1-text, inherit); --vc-footer-column-link: var(--vc-footer-column-1-link, inherit); }
.footer-widget-column-2 { --vc-footer-column-bg: var(--vc-footer-column-2-bg, transparent); --vc-footer-column-image: var(--vc-footer-column-2-image, none); --vc-footer-column-text: var(--vc-footer-column-2-text, inherit); --vc-footer-column-link: var(--vc-footer-column-2-link, inherit); }
.footer-widget-column-3 { --vc-footer-column-bg: var(--vc-footer-column-3-bg, transparent); --vc-footer-column-image: var(--vc-footer-column-3-image, none); --vc-footer-column-text: var(--vc-footer-column-3-text, inherit); --vc-footer-column-link: var(--vc-footer-column-3-link, inherit); }
.footer-widget-column :where(h1,h2,h3,h4,h5,h6,p,li,figcaption) { color: inherit !important; }
.site-footer .footer-widgets .footer-widget-column a { color: var(--vc-footer-column-link, inherit); }
.site-footer .footer-widgets .footer-widget-column a:hover, .site-footer .footer-widgets .footer-widget-column a:focus { color: var(--vc-footer-column-link, var(--vc-accent)); filter: brightness(.86); }
.footer-widget-column :where(img,video,iframe) { max-width: 100%; }
.footer-widget-column video { height: auto; }
.footer-widget-column .menu, .footer-widget-column .menu .sub-menu { margin: 0; padding: 0; list-style: none; }
.footer-widget-column .menu-item { position: relative; }
.footer-widget-column .menu a { display: flex; min-height: 42px; align-items: center; padding: 8px 12px; }
.footer-widget-column .menu .sub-menu { display: none; padding-left: 12px; }
.footer-widget-column .menu .menu-item-has-children:hover > .sub-menu, .footer-widget-column .menu .menu-item-has-children:focus-within > .sub-menu, .footer-widget-column .menu .is-footer-submenu-open > .sub-menu { display: block; }
.footer-menu-submenu-toggle { position: absolute; top: 0; right: 0; width: 42px; height: 42px; padding: 0; color: inherit; background: transparent; border: 0; cursor: pointer; }
.vicando-footer-dropdown-select { width: 100%; min-height: 44px; padding: 8px 36px 8px 12px; color: var(--vc-text); background: var(--vc-surface); border: 1px solid var(--vc-border); font: inherit; }
.vicando-footer-site-logo .custom-logo-link { display: inline-flex; max-width: min(240px,100%); align-items: center; }
.vicando-footer-site-logo .custom-logo { width: auto; max-width: 100%; max-height: 110px; object-fit: contain; }
.vicando-footer-contact-details p { margin: 0 0 10px; }
.vicando-footer-contact-details p:last-child { margin-bottom: 0; }
.vicando-footer-contact-address { white-space: normal; }
.site-footer a { color: white; }
.footer-bottom { padding: 22px 0; border: 0; font-size: .92rem; }
.footer-bottom .container { text-align: var(--vc-footer-align, left); }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: inherit; text-decoration: none; }
.footer-bottom a:hover, .footer-bottom a:focus { color: var(--vc-accent); text-decoration: none; }
.vicando-footer-external-link { display: inline-flex; align-items: center; gap: .38em; }
.vicando-footer-external-icon { position: relative; flex: 0 0 auto; width: 1.05em; height: .9em; }
.vicando-footer-external-icon::before,
.vicando-footer-external-icon::after { content: ""; position: absolute; width: .65em; height: .52em; border: 1.5px solid currentColor; background: transparent; }
.vicando-footer-external-icon::before { top: 0; left: .25em; }
.vicando-footer-external-icon::after { right: .25em; bottom: 0; }
.vicando-footer-information { color: var(--vc-text); background-color: var(--vc-footer-bg, var(--vc-surface)); background-image: var(--vc-footer-image, none); background-position: center; background-size: cover; border: 1px solid var(--vc-border); border-radius: var(--vc-radius); box-shadow: var(--vc-shadow); }
.vicando-future-footer-information { width: 100%; max-width: none !important; padding: 22px; background: var(--vc-footer-panel-bg); border: 1px solid var(--vc-border); border-radius: 0; text-align: var(--vc-footer-align, center); }
.vicando-footer-information p { width: 100%; margin: 0; font-size: .92rem; font-weight: 400; text-align: var(--vc-footer-align, center); }
.vicando-footer-information a { color: inherit; font-weight: 400; }
.vicando-footer-information a:hover, .vicando-footer-information a:focus { color: var(--vc-accent); }

/* En konsekvent typografisk hierarki på alla sidtyper och i högerspalten. */
body, button, input, select, textarea { font-size: 1rem; font-weight: 400; }
p, li, address, dd, .entry-content, .entry-content a, .sidebar p, .sidebar li, .sidebar a { font-weight: 400; }
h1, h2, h3, h4, h5, h6, .entry-title, .page-title, .widget-title { font-weight: 700; }
.entry-title, .page-title, .content-area > h1 { font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.12; }
.entry-content h2, .content-area h2:not(.widget-title) { font-size: clamp(1.55rem, 3vw, 2.15rem); line-height: 1.2; }
.entry-content h3, .content-area h3 { font-size: 1.3rem; line-height: 1.3; }
.sidebar > .widget .widget-title,
.sidebar > .widget > h2:first-child,
.sidebar .vicando-activities-widget .widget-title { font-size: .95rem; line-height: 1.25; font-weight: 700; }
.sidebar .wp-block-latest-posts,
.sidebar .wp-block-latest-posts li,
.sidebar .wp-block-latest-posts a,
.sidebar .vicando-future-recent-comments li,
.sidebar .vicando-future-recent-comments a { font-size: 1rem; line-height: 1.5; font-weight: 400; }
body.vicando-color-light .site-footer { color: #1d2430; }
body.vicando-color-light .footer-widget-band { box-shadow: inset 0 1px rgba(29,36,48,.08), inset 0 -1px rgba(29,36,48,.12); }
body.vicando-color-light .site-footer a { color: #1d2430; }
body.vicando-color-light .site-footer a:hover,
body.vicando-color-light .site-footer a:focus { color: var(--vc-accent); }
.scroll-to-top { position: fixed; z-index: 2000; right: 22px; bottom: 22px; width: var(--vc-scroll-top-size, 46px); height: var(--vc-scroll-top-size, 46px); display: grid; place-items: center; padding: 0; color: var(--vc-scroll-top-color, #fff); background: var(--vc-scroll-top-bg, #dd3333); border: 0; box-shadow: 0 5px 18px rgba(0,0,0,.25); font: 700 1.45rem/1 var(--vc-body-font); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease, visibility .2s, filter .18s ease; }
.scroll-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.scroll-to-top:hover, .scroll-to-top:focus-visible { color: var(--vc-scroll-top-color, #fff); filter: brightness(.88); }
.scroll-to-top-left { right: auto; left: 22px; }
.vicando-layout-fixed .scroll-to-top-right { right: max(22px, calc((100vw - var(--vc-container)) / 2 + 22px)); }
.vicando-layout-fixed .scroll-to-top-left { left: max(22px, calc((100vw - var(--vc-container)) / 2 + 22px)); }
.scroll-to-top-circle { border-radius: 50%; }
.scroll-to-top-square { border-radius: 0; }
.scroll-to-top-rounded { border-radius: 7px; }
.scroll-to-top-soft { border-radius: 15px; }
.scroll-arrow-stacked { display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: .42; transform: translateY(2px); }
.scroll-arrow-stacked > span { display: block; height: .55em; font-size: .9em; }
.scroll-arrow-bar { display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: .72; font-weight: 900; }
.scroll-arrow-bar > span:first-child { font-weight: 900; -webkit-text-stroke: .45px currentColor; }
.scroll-arrow-line { display: block; width: .72em; margin-top: .24em; border-top: 3px solid currentColor; }

.screen-reader-text { position: absolute; left: -9999px; }
.alignwide { margin-left: max(-80px, calc((var(--vc-container) - 100%) / -2)); margin-right: max(-80px, calc((var(--vc-container) - 100%) / -2)); }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: 100vw; }

@media (max-width: 1100px) {
  .content-layout { grid-template-columns: minmax(0,1fr); }
  .content-layout > .sidebar { display: grid !important; grid-column: 1 / -1; width: 100%; max-width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); visibility: visible; opacity: 1; }
  .content-layout > .sidebar > .widget { display: block; width: 100%; max-width: 100%; min-width: 0; visibility: visible; opacity: 1; }
  .content-layout > .sidebar > .widget:empty { display: none !important; }
  .content-layout > .sidebar > .widget:only-child,
  .content-layout > .sidebar > .vicando-activities-widget,
  .content-layout > .sidebar > .widget_vicando_activities { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .topbar { overflow: visible; }
  .topbar-inner { display: grid; grid-template-columns: auto minmax(0,1fr) 36px; align-items: center; gap: 8px; padding-block: 7px; }
  .topbar-inner > .member-account { position: relative; top: auto; right: auto; grid-column: 3; grid-row: 1; transform: none; }
  .topbar-mobile-meta { grid-column: 2; }
  .topbar-mobile-toggle { display: flex; }
  .topbar-mobile-meta { display: flex; }
  .topbar-mobile-meta .topbar-date { display: none; }
  .topbar-mobile-meta .topbar-socials { margin-left: auto; }
  .topbar-content { grid-column: 1 / -1; display: none; grid-template-columns: 1fr; gap: 7px; padding-top: 7px; padding-right: 0; }
  .topbar-content.is-open { position: absolute; z-index: 1400; top: 100%; left: 0; display: grid; width: 100%; padding: 14px 16px; background: var(--vc-topbar); box-shadow: 0 14px 28px rgba(0,0,0,.32); }
  .topbar-content.is-open .topbar-zone { justify-content: center; text-align: center; }
  .topbar-content.is-open .topbar-left, .topbar-content.is-open .topbar-right { width: 100%; }
  .topbar-content.is-open .topbar-menu { flex-direction: column; align-items: stretch; width: min(360px, 100%); margin-inline: auto; text-align: left; background: transparent; border-radius: 0; }
  .topbar-content.is-open .topbar-menu a { min-height: 42px; padding: 9px 12px; color: #fff; background: transparent; border-radius: 0; }
  .topbar-content.is-open .topbar-menu a:hover,
  .topbar-content.is-open .topbar-menu a:focus,
  .topbar-content.is-open .topbar-menu li:hover > a,
  .topbar-content.is-open .topbar-menu li:focus-within > a { color: #fff; background: var(--vc-topbar-hover); box-shadow: none !important; }
  .topbar-content.is-open .vicando-menu-link-icon { align-self: center; margin-left: .5em; transform: none; }
  .topbar-content.is-open .topbar-menu .menu-item-has-children > a::after { flex: 0 0 auto; margin-left: auto; }
  .topbar-content.is-open .topbar-menu > li + li::before { display: none; }
  .topbar-content .topbar-socials,
  .topbar-content .topbar-date { display: none; }
  .topbar-zone { min-height: 28px; }
  .topbar-left { justify-content: flex-start; text-align: left; }
  .topbar-center { justify-content: center; text-align: center; }
  .topbar-right { justify-content: flex-end; text-align: right; }
  .topbar-menu, .topbar-center .topbar-menu, .topbar-right .topbar-menu { justify-content: center; }
  .topbar-menu .sub-menu,
  .topbar-menu .sub-menu .sub-menu,
  .topbar-right .topbar-menu > li > .sub-menu,
  .topbar-right .topbar-menu .sub-menu .sub-menu { position: static; display: block; width: 100%; min-width: 0; margin-top: 3px; border-color: #333; box-shadow: none; text-align: center; }
  .jumbo-inner { grid-template-columns: minmax(0,1fr) auto auto; gap: 10px; }
  .jumbo-inner.jumbo-no-attention-menu { grid-template-columns: minmax(0,1fr) auto; }
  .jumbo-menu-toggle { position: absolute; z-index: 51; top: 50%; left: 16px; display: flex; transform: translateY(-50%); }
  .jumbo-navigation { position: absolute; z-index: 60; top: calc(50% + 30px); right: auto; left: 16px; display: none; visibility: hidden; width: min(330px, calc(100vw - 32px)); padding: 8px; background: rgba(0,0,0,.92); border-radius: 0; box-shadow: var(--vc-shadow); opacity: 0; pointer-events: none; }
  .jumbo-search { right: 16px; }
  .jumbo-navigation.is-open { display: block !important; visibility: visible; opacity: 1; pointer-events: auto; }
  .jumbo-navigation.is-open .jumbo-menu a { width: 100%; transform: none; }
  .jumbo-navigation .jumbo-menu { flex-direction: column; align-items: stretch; }
  .jumbo-menu .sub-menu, .jumbo-menu .sub-menu .sub-menu { position: static; display: block; box-shadow: none; padding-left: 14px; }
  .main-menu-bar-inner { min-height: 52px; justify-content: flex-start; padding-block: 0; }
  .main-menu-mobile-toggle { display: flex; min-width: 64px; min-height: 52px; color: var(--vc-main-menu-text); background: transparent; font-size: 1.25rem; }
  .main-menu-bar.has-visitor-drawer .main-menu-mobile-toggle { display: none; }
  .visitor-theme-toggle, .visitor-drawer-toggle, .visitor-settings-toggle { width: 52px; min-height: 52px; }
  .visitor-theme-tools .visitor-theme-toggle,
  .visitor-theme-tools .visitor-settings-toggle { width: 44px; }
  .visitor-drawer-primary { display: block; }
  .main-menu-standard { position: absolute; z-index: 1200; top: 100%; right: 0; left: 0; display: none; width: 100%; padding: 0; background: var(--vc-main-menu-dropdown-surface, var(--vc-main-menu-dropdown)); border: 0; border-radius: 0; box-shadow: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
  .main-menu-standard.is-open { display: block; }
  .main-menu-standard .main-menu-list { flex-direction: column; align-items: stretch; }
  .main-menu-standard .main-menu-list > li { display: grid; grid-template-columns: minmax(0,1fr) 48px; }
  .main-menu-standard .main-menu-list a { min-height: 50px; padding: 9px 18px; font-size: 1.05rem; }
  .main-menu-standard .main-menu-list .sub-menu a { min-height: 43px; padding-top: 8px; padding-bottom: 8px; font-size: .94rem; }
  .main-menu-standard .main-menu-list .sub-menu a:hover, .main-menu-standard .main-menu-list .sub-menu a:focus { padding-right: 14px; padding-left: 22px; }
  .main-menu-standard .main-menu-list .menu-item-has-children > a::after { display: none; }
  .main-menu-standard .main-menu-list .sub-menu { position: static; grid-column: 1 / -1; display: none; padding: 0 0 6px 16px; box-shadow: none; }
  .main-menu-standard .main-menu-list .is-submenu-open > .sub-menu { display: block; }
  .main-menu-submenu-toggle { display: flex; align-items: center; justify-content: center; width: 48px; min-height: 48px; padding: 0; color: var(--vc-main-menu-dropdown-text); background: transparent; border: 0; border-left: 1px solid rgba(255,255,255,.12); border-radius: 0; font-size: 1.25rem; cursor: pointer; }
  .is-submenu-open > .main-menu-submenu-toggle span { transform: rotate(180deg); }
  .hero-grid { grid-template-columns: 1fr; }
  .card-grid { grid-template-columns: repeat(2,1fr); }
  .hero-copy { padding: 36px; }
  .hero-media, .hero-placeholder { min-height: 360px; }
}

@media (max-width: 620px) {
  .news-card { grid-template-columns: 1fr; }
  .news-card-image { min-height: 210px; aspect-ratio: 16 / 10; }
  .vicando-breadcrumbs { margin-top: 9px; }
  .container.vicando-breadcrumbs-inner,
  .vicando-layout-fixed .container.vicando-breadcrumbs-inner { min-height: 38px; gap: 7px; padding-left: 24px; font-size: .82rem; }
  .container.vicando-member-shortcuts-inner,
  .vicando-layout-fixed .container.vicando-member-shortcuts-inner { padding-left: 24px; }
  .scroll-to-top { right: 14px; bottom: 14px; }
  .scroll-to-top-left { right: auto; left: 14px; }
  .vicando-layout-fixed .scroll-to-top-right { right: 14px; }
  .vicando-layout-fixed .scroll-to-top-left { left: 14px; }
  .admin-bar .main-menu-bar.is-sticky { top: 46px; }
  .jumbo-inner { padding-top: 0; }
  .jumbo-branding .custom-logo-link { max-width: min(100%, var(--vc-jumbo-logo-width, 620px)); max-height: var(--vc-jumbo-logo-height); }
  .container, .vicando-layout-fixed .container { width: 100%; padding-inline: 10px; }
  .hero { padding-top: 16px; }
  .content-layout { padding-top: 22px; }
  .content-layout > .sidebar { grid-template-columns: minmax(0,1fr); padding: 20px; }
  .content-layout > .sidebar > .widget,
  .content-layout > .sidebar > .vicando-activities-widget,
  .content-layout > .sidebar > .widget_vicando_activities { grid-column: 1; padding: 20px; }
  .error-console-body { padding: 26px 20px 32px; }
  .error-actions { flex-direction: column; }
  .error-home-button, .error-search-form { width: 100%; }
  .error-search-form { min-width: 0; flex-basis: auto; }
  .vicando-slide-caption { bottom: 28px; left: 14px; width: calc(100% - 28px); padding: 16px; }
  .vicando-slide-caption p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .hero-copy { padding: 26px; border-radius: 20px; }
  .hero h1 { font-size: 2.45rem; }
  .card-grid, .footer-widgets { grid-template-columns: 1fr; }
  .section-header { align-items: start; flex-direction: column; }
  .content-area { padding: 22px; }
  .single-post-featured { width: calc(100% + 44px); margin-right: -22px; margin-left: -22px; }
  .single-post-related { margin-right: -22px; margin-left: -22px; padding-right: 22px; padding-left: 22px; }
  .single-post-related-grid { grid-template-columns: 1fr; }
  .single-post-related-card { display: grid; grid-template-columns: minmax(105px,34%) minmax(0,1fr); }
  .single-post-related-image { height: 100%; aspect-ratio: auto; }
  .single-post-related-card > div { padding: 14px; }
  .single-post-related-card p { display: none; }
  .comments-area { padding: 18px; }
  .comment-list .children { margin-left: 14px; }
  .comment-list .comment-body { padding: 14px; }
  .comment-list .comment-metadata, .comment-list .comment-content, .comment-list .reply { margin-left: 0; }
  .single-post-author { align-items: flex-start; padding: 16px; }
  .single-post-author-avatar { width: 58px; height: 58px; flex-basis: 58px; }
  .topbar-menu .sub-menu,
  .topbar-menu .sub-menu .sub-menu,
  .topbar-right .topbar-menu > li > .sub-menu,
  .topbar-right .topbar-menu .sub-menu .sub-menu { position: static; display: block; width: 100%; min-width: 0; margin-top: 3px; border-color: #333; box-shadow: none; text-align: center; }
  .topbar-menu .sub-menu a { white-space: normal; }
}
@media print {
  .topbar, .jumbo-header, .main-menu-bar, .vicando-breadcrumbs, .vicando-member-shortcuts, .sidebar, .single-post-share, .single-post-related, .comments-area, .single-post-footer .post-navigation, .site-footer, .scroll-to-top { display: none !important; }
  body, .content-area { color: #000 !important; background: #fff !important; }
  .content-layout { display: block; padding: 0; }
  .single-post-page { padding: 0; border: 0; }
  .single-post-featured { width: 100%; margin-inline: 0; }
  a { color: #000 !important; text-decoration: none !important; }
}
/* Full-page loading indicator */
body.vicando-page-loading{overflow:hidden}
.vicando-page-loader{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:var(--vc-bg,#090d15);color:var(--vc-accent,#dd3333);opacity:1;visibility:visible;transition:opacity .38s ease,visibility 0s linear .38s}
.vicando-page-loader.is-complete{opacity:0;visibility:hidden;pointer-events:none}
.vicando-loader-symbol{position:relative;display:block;width:64px;height:64px;color:inherit}
.vicando-loader-symbol i{position:absolute;display:none;background:currentColor}
.loader-ring .vicando-loader-symbol{border:5px solid rgba(127,127,127,.25);border-top-color:currentColor;border-radius:50%;animation:vc-loader-spin .8s linear infinite}
.loader-double-ring .vicando-loader-symbol:before,.loader-double-ring .vicando-loader-symbol:after{content:"";position:absolute;border:4px solid transparent;border-radius:50%;animation:vc-loader-spin 1s linear infinite}
.loader-double-ring .vicando-loader-symbol:before{inset:0;border-top-color:currentColor;border-bottom-color:currentColor}.loader-double-ring .vicando-loader-symbol:after{inset:10px;border-right-color:currentColor;border-left-color:currentColor;animation-direction:reverse;animation-duration:.7s}
.loader-dots .vicando-loader-symbol,.loader-bars .vicando-loader-symbol,.loader-grid .vicando-loader-symbol,.loader-wave .vicando-loader-symbol{display:flex;align-items:center;justify-content:center;gap:7px}
.loader-dots .vicando-loader-symbol i:nth-child(-n+3){position:static;display:block;width:12px;height:12px;border-radius:50%;animation:vc-loader-dot 1s ease-in-out infinite}.loader-dots .vicando-loader-symbol i:nth-child(2){animation-delay:.14s}.loader-dots .vicando-loader-symbol i:nth-child(3){animation-delay:.28s}
.loader-bars .vicando-loader-symbol i:nth-child(-n+5),.loader-wave .vicando-loader-symbol i:nth-child(-n+5){position:static;display:block;width:7px;height:38px;animation:vc-loader-bar 1s ease-in-out infinite}.loader-bars .vicando-loader-symbol i:nth-child(2),.loader-wave .vicando-loader-symbol i:nth-child(2){animation-delay:.1s}.loader-bars .vicando-loader-symbol i:nth-child(3),.loader-wave .vicando-loader-symbol i:nth-child(3){animation-delay:.2s}.loader-bars .vicando-loader-symbol i:nth-child(4),.loader-wave .vicando-loader-symbol i:nth-child(4){animation-delay:.3s}.loader-bars .vicando-loader-symbol i:nth-child(5),.loader-wave .vicando-loader-symbol i:nth-child(5){animation-delay:.4s}
.loader-wave .vicando-loader-symbol{transform:rotate(90deg)}.loader-wave .vicando-loader-symbol i:nth-child(-n+5){height:30px;border-radius:50%;animation-name:vc-loader-wave}
.loader-pulse .vicando-loader-symbol{width:40px;height:40px;background:currentColor;border-radius:50%;animation:vc-loader-pulse 1.2s ease-out infinite}
.loader-orbit .vicando-loader-symbol{border:2px solid rgba(127,127,127,.3);border-radius:50%;animation:vc-loader-spin 1.2s linear infinite}.loader-orbit .vicando-loader-symbol:after{content:"";position:absolute;top:-6px;left:25px;width:12px;height:12px;border-radius:50%;background:currentColor;box-shadow:0 0 16px currentColor}
.loader-grid .vicando-loader-symbol{display:grid;grid-template-columns:repeat(3,14px);grid-template-rows:repeat(3,14px);gap:6px}.loader-grid .vicando-loader-symbol i{position:static;display:block;width:14px;height:14px;animation:vc-loader-grid 1.2s ease-in-out infinite}.loader-grid .vicando-loader-symbol i:nth-child(2),.loader-grid .vicando-loader-symbol i:nth-child(4){animation-delay:.1s}.loader-grid .vicando-loader-symbol i:nth-child(3),.loader-grid .vicando-loader-symbol i:nth-child(5),.loader-grid .vicando-loader-symbol i:nth-child(7){animation-delay:.2s}.loader-grid .vicando-loader-symbol i:nth-child(6),.loader-grid .vicando-loader-symbol i:nth-child(8){animation-delay:.3s}.loader-grid .vicando-loader-symbol i:nth-child(9){animation-delay:.4s}
.loader-ripple .vicando-loader-symbol:before,.loader-ripple .vicando-loader-symbol:after{content:"";position:absolute;inset:0;border:4px solid currentColor;border-radius:50%;animation:vc-loader-ripple 1.5s cubic-bezier(0,.2,.8,1) infinite}.loader-ripple .vicando-loader-symbol:after{animation-delay:-.75s}
.loader-diamond .vicando-loader-symbol{width:42px;height:42px;margin:11px;background:currentColor;animation:vc-loader-diamond 1.3s ease-in-out infinite}
@keyframes vc-loader-spin{to{transform:rotate(360deg)}}
@keyframes vc-loader-dot{0%,80%,100%{transform:scale(.55);opacity:.35}40%{transform:scale(1);opacity:1}}
@keyframes vc-loader-bar{0%,100%{transform:scaleY(.35);opacity:.45}50%{transform:scaleY(1);opacity:1}}
@keyframes vc-loader-wave{0%,100%{transform:translateY(-9px);opacity:.45}50%{transform:translateY(9px);opacity:1}}
@keyframes vc-loader-pulse{0%{transform:scale(.35);opacity:1}100%{transform:scale(1.35);opacity:0}}
@keyframes vc-loader-grid{0%,70%,100%{transform:scale(.45);opacity:.35}35%{transform:scale(1);opacity:1}}
@keyframes vc-loader-ripple{0%{transform:scale(.15);opacity:1}100%{transform:scale(1);opacity:0}}
@keyframes vc-loader-diamond{0%{transform:perspective(100px) rotateX(0) rotateY(0)}50%{transform:perspective(100px) rotateX(-180deg) rotateY(0)}100%{transform:perspective(100px) rotateX(-180deg) rotateY(-180deg)}}
@media(prefers-reduced-motion:reduce){.vicando-loader-symbol,.vicando-loader-symbol:before,.vicando-loader-symbol:after,.vicando-loader-symbol i{animation-duration:2s!important}.vicando-page-loader{transition-duration:.01ms}}

.vicando-skip-link{position:fixed;z-index:2147483647;top:8px;left:8px;padding:12px 16px;color:#fff;background:#111;border:2px solid #fff;transform:translateY(-160%)}
.vicando-skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--vc-accent,#dd3333)!important;outline-offset:3px}
#vicando-main-content:focus{outline:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Beta 91: three member cards per row on desktop. */
.member-directory-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.member-directory-item{grid-template-columns:64px minmax(0,1fr);padding:16px}
.member-directory-more{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--vc-border)}
@media(max-width:900px){.member-directory-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.member-directory-list{grid-template-columns:1fr}.member-directory-more{grid-column:1/-1}}

/* WooCommerce uses its own stable blocks; these rules only connect them to the theme palette. */
.vicando-commerce-page :where(.woocommerce,.wc-block-components-notice-banner,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout){color:var(--vc-text)}
.vicando-commerce-page :where(.woocommerce-error,.woocommerce-info,.woocommerce-message,.wc-block-components-notice-banner){border-color:var(--vc-border);background:var(--vc-surface);color:var(--vc-text)}
.vicando-commerce-page :where(.button,.wc-block-components-button):not(.is-link){border-radius:0;background:var(--vc-accent);color:#fff}
.vicando-commerce-page :where(input,select,textarea){border-color:var(--vc-border);background:var(--vc-surface);color:var(--vc-text)}
[hidden]{display:none!important}
.vicando-commerce-account{padding:clamp(18px,3vw,30px);border:1px solid var(--vc-border);background:var(--vc-surface)}
.vicando-commerce-account h2{margin-top:0}

/* Module-specific homepages selected automatically from Delar och språk. */
.vicando-module-home-hero{padding:clamp(34px,6vw,78px) 0;background:linear-gradient(135deg,color-mix(in srgb,var(--vc-surface) 92%,var(--vc-accent)),var(--vc-surface))}
.vicando-module-home-intro{max-width:920px;padding:clamp(30px,6vw,72px);background:var(--vc-surface);border:1px solid var(--vc-border);border-radius:28px;box-shadow:var(--vc-shadow)}
.vicando-module-home-eyebrow{display:block;margin-bottom:12px;color:var(--vc-accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.vicando-module-home-intro h1,.vicando-module-feature-copy h1{margin:0 0 18px;color:var(--vc-text);font-size:clamp(2.5rem,6vw,5.4rem);line-height:.98;letter-spacing:-.05em}
.vicando-module-home-intro p,.vicando-module-feature-copy p{max-width:760px;margin:0 0 26px;color:var(--vc-muted);font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}
.vicando-module-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);min-height:560px;overflow:hidden;background:var(--vc-surface);border:1px solid var(--vc-border);border-radius:28px;box-shadow:var(--vc-shadow)}
.vicando-module-feature-image{display:block;min-height:440px;overflow:hidden;background:color-mix(in srgb,var(--vc-surface) 82%,var(--vc-text))}
.vicando-module-feature-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.vicando-module-feature:hover .vicando-module-feature-image img{transform:scale(1.025)}
.vicando-module-feature-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,5vw,64px)}
.vicando-module-feature-copy h1{font-size:clamp(2.2rem,4.4vw,4.3rem)}
.vicando-module-feature-copy h1 a{color:inherit;text-decoration:none}
.vicando-module-feature-copy h1 a:hover{color:var(--vc-accent)}
.vicando-module-feed{padding-top:clamp(40px,6vw,76px)}
.vicando-photo-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vicando-photo-home-card{position:relative;display:block;min-height:320px;overflow:hidden;background:var(--vc-surface);border:1px solid var(--vc-border);color:#fff;text-decoration:none}
.vicando-photo-home-card img{width:100%;height:100%;min-height:320px;display:block;object-fit:cover;transition:transform .35s ease}
.vicando-photo-home-card:hover img{transform:scale(1.04)}
.vicando-photo-home-card>span{position:absolute;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:18px 20px;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.08));color:#fff}
.vicando-photo-home-card small{margin-top:4px;color:#e5e7eb}
.vicando-community-home-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vicando-community-home-card{min-height:250px;display:flex;flex-direction:column;padding:clamp(24px,4vw,42px);background:var(--vc-surface);border:1px solid var(--vc-border);border-top:4px solid var(--vc-accent);color:var(--vc-text);text-decoration:none;box-shadow:var(--vc-shadow)}
.vicando-community-home-card h2{margin:0 0 14px;font-size:clamp(1.5rem,2.5vw,2.1rem)}
.vicando-community-home-card p{color:var(--vc-muted);line-height:1.6}
.vicando-community-home-card span{margin-top:auto;color:var(--vc-accent);font-weight:750}
.vicando-community-home-card:hover{border-color:var(--vc-accent);transform:translateY(-2px)}
.vicando-store-home .woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vicando-store-home .woocommerce ul.products:before,.vicando-store-home .woocommerce ul.products:after{display:none}
.vicando-store-home .woocommerce ul.products li.product{width:auto!important;margin:0!important;padding:20px;background:var(--vc-surface);border:1px solid var(--vc-border)}
.vicando-module-empty{padding:28px;background:var(--vc-surface);border:1px solid var(--vc-border)}
.vicando-core-home-content{display:grid;gap:28px;padding:0;background:transparent;border:0;border-radius:0}
.vicando-core-home-content>.vicando-module-home-intro{max-width:none}
.vicando-core-latest-section{padding:clamp(24px,4vw,42px);background:var(--vc-surface);border:1px solid var(--vc-border);border-radius:var(--vc-radius)}
.vicando-core-latest-section>.entry-title{margin-bottom:26px}
.vicando-core-post-list{display:grid;gap:20px}
.vicando-core-post-card{display:grid;grid-template-columns:minmax(190px,34%) minmax(0,1fr);overflow:hidden;background:var(--vc-surface);border:1px solid var(--vc-border)}
.vicando-core-post-image{display:block;min-height:240px;overflow:hidden;background:color-mix(in srgb,var(--vc-surface) 84%,var(--vc-text))}
.vicando-core-post-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease}
.vicando-core-post-card:hover .vicando-core-post-image img{transform:scale(1.03)}
.vicando-core-post-body{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(20px,3vw,32px)}
.vicando-core-post-body time{margin-bottom:8px;color:var(--vc-muted);font-size:.88rem}
.vicando-core-post-body h3{margin:0 0 12px;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.15}
.vicando-core-post-body h3 a{color:var(--vc-text);text-decoration:none}
.vicando-core-post-body h3 a:hover{color:var(--vc-accent)}
.vicando-core-post-body p{margin:0 0 20px;color:var(--vc-muted);line-height:1.6}
.vicando-core-post-body .button{margin-top:auto}
.vicando-core-home-sidebar{align-self:start}
@media(max-width:900px){.vicando-module-feature{grid-template-columns:1fr}.vicando-module-feature-image{min-height:340px}.vicando-photo-home-grid,.vicando-community-home-links,.vicando-store-home .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.vicando-module-home-hero{padding:18px 0}.vicando-module-home-intro{padding:28px 22px;border-radius:20px}.vicando-module-feature{border-radius:20px}.vicando-module-feature-image{min-height:260px}.vicando-module-feature-copy{padding:28px 22px}.vicando-photo-home-grid,.vicando-community-home-links,.vicando-store-home .woocommerce ul.products{grid-template-columns:1fr}.vicando-photo-home-card,.vicando-photo-home-card img{min-height:280px}.vicando-core-post-card{grid-template-columns:1fr}.vicando-core-post-image{min-height:220px}.vicando-core-home-content{padding:0}}
