:root {
    --weare-navy: #05576f;
    --weare-navy-dark: #034257;
    --weare-lime: #dff100;
    --weare-lime-soft: #f0fa4a;
    --weare-ink: #0c1116;
    --weare-muted: #5f6c74;
    --weare-border: rgba(5, 87, 111, 0.16);
    --weare-soft: #f4f6f6;
    --weare-white: #fff;
    --weare-radius: 22px;
    --weare-radius-lg: 34px;
    --weare-shadow: 0 24px 70px rgba(7, 35, 44, 0.12);
    --weare-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.weare-investor__grid{
	display: none !important;
}
* { box-sizing: border-box; }
body.weare-site {
    margin: 0;
    background: #fff;
    color: var(--weare-ink);
    font-family: var(--weare-font);
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.screen-reader-text { position: absolute; left: -9999px; }
.weare-page-shell {
    width: min(100%, 1180px);
    margin: 0 auto;
    background: #fff;
    min-height: 100vh;
    box-shadow: 0 0 0 1px rgba(5, 87, 111, .04);
}
.weare-container { width: min(100% - 56px, 960px); margin: 0 auto; }
.weare-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.88); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(5,87,111,.1); }
.weare-header__inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 0 44px; }
.weare-header__brand img, .custom-logo { width: min(330px, 46vw); max-height: 62px; object-fit: contain; }
.weare-header__nav { display: flex; flex: 1; align-items: center; justify-content: flex-end; gap: 16px; min-width: 0; }
.weare-menu, .weare-footer-menu { display: flex; align-items: center; gap: clamp(16px, 2vw, 28px); list-style: none; margin: 0; padding: 0; }
.weare-menu a { display: inline-flex; align-items: center; min-height: 42px; font-size: 15px; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; transition: color .2s ease; }
.weare-menu a:hover { color: var(--weare-navy); }
.weare-header__actions { display: flex; align-items: center; gap: 10px; }
.weare-header__customer { display: inline-flex; align-items: center; min-height: 42px; padding: 0 3px; color: var(--weare-ink); font-size: 15px; font-weight: 900; white-space: nowrap; }
.weare-header__customer:hover { color: var(--weare-navy); }
.weare-header__logout { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 0 10px; border: 1px solid var(--weare-border); border-radius: 8px; color: var(--weare-navy); font-size: 12px; font-weight: 900; }
.weare-header__logout:hover { color: var(--weare-ink); background: var(--weare-lime); border-color: var(--weare-lime); }
.weare-header__vendor { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 7px 10px; border: 1px solid var(--weare-border); border-radius: 11px; color: var(--weare-navy); background: var(--weare-soft); font-size: 11px; line-height: 1; white-space: nowrap; }
.weare-header__vendor > a:first-child, .weare-header__vendor--logged { display: grid; gap: 3px; color: inherit; }
.weare-header__vendor span { color: var(--weare-muted); font-weight: 800; }
.weare-header__vendor strong { color: var(--weare-navy); font-size: 13px; font-weight: 950; }
.weare-header__vendor-info { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 27px; border-radius: 7px; color: var(--weare-ink); background: var(--weare-lime); font-size: 11px; font-weight: 950; }
.weare-header__account { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: rgba(5,87,111,.1); }
.weare-header__account span { width: 16px; height: 16px; border-radius: 50%; background: var(--weare-navy); display: block; box-shadow: 0 -7px 0 -2px rgba(223,241,0,.9); }
.weare-header__toggle { display: none; width: 42px; height: 42px; border: 0; background: transparent; padding: 8px; }
.weare-header__toggle span:not(.screen-reader-text) { display: block; height: 2px; background: var(--weare-navy); margin: 6px 0; }
.weare-main { min-height: 60vh; }
.weare-hero { padding: 72px 0 28px; overflow: hidden; }
.weare-hero__inner { min-height: 300px; position: relative; display: flex; align-items: center; }
.weare-hero__content { width: min(650px, 100%); margin-left: 100px; position: relative; z-index: 2; }
.weare-kicker { margin: 0 0 12px; text-transform: uppercase; color: var(--weare-navy); font-weight: 900; letter-spacing: .08em; font-size: 12px; }
.weare-hero h1, .weare-section-heading h1, .weare-entry h1 { margin: 0 0 20px; color: var(--weare-navy); font-size: clamp(42px, 6vw, 74px); line-height: .92; letter-spacing: -.065em; font-weight: 950; }
.weare-hero p { margin: 0 0 26px; font-size: clamp(17px, 2.1vw, 21px); max-width: 620px; font-weight: 650; line-height: 1.2; }
.weare-corner { position: absolute; inset: 0 auto auto 0; width: 240px; height: 240px; border-radius: 34px; transform: skew(-8deg); pointer-events: none; }
.weare-corner::before { content: ""; position: absolute; inset: 0; border: 9px solid var(--weare-lime); border-right-color: transparent; border-top-right-radius: 44px; border-bottom-right-radius: 44px; box-shadow: 0 0 0 1px rgba(223,241,0,.15); }
.weare-corner--navy::before { border-color: var(--weare-navy); border-right-color: transparent; }
.weare-button { display: inline-flex; align-items: center; justify-content: center; min-height: 45px; border-radius: 12px; padding: 0 22px; background: var(--weare-navy); color: #fff; font-weight: 900; font-size: 15px; box-shadow: 0 10px 22px rgba(5,87,111,.18); transition: transform .2s ease, box-shadow .2s ease; }
.weare-button:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(5,87,111,.24); }
.weare-button--lime { background: var(--weare-lime); color: var(--weare-ink); box-shadow: 0 10px 22px rgba(223,241,0,.35); }
.weare-button--small { min-height: 36px; padding: 0 16px; font-size: 13px; }
.weare-section { padding: 44px 0; }
.weare-section--page { padding: 72px 0; }
.weare-section-heading { margin: 0 0 22px; }
.weare-section-heading h2, .weare-split h2, .weare-cta h2, .weare-business-hero h1 { margin: 0 0 10px; color: var(--weare-ink); font-size: clamp(31px, 4.2vw, 48px); line-height: 1; letter-spacing: -.05em; font-weight: 950; }
.weare-section-heading p, .weare-split p { margin: 0; color: var(--weare-ink); font-size: 17px; line-height: 1.35; font-weight: 650; }
.weare-featured-modules { display: grid; gap: 28px; }
.weare-featured-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr); gap: 18px; align-items: start; }
.weare-featured-grid--profile-only { grid-template-columns: minmax(0, 1fr); }
.weare-featured-grid--profile-only .weare-featured-primary { width: 100%; }
.weare-featured-grid--boost-only { grid-template-columns: 1fr; }
.weare-featured-grid--boost-only .weare-featured-side-list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.weare-featured-primary { min-width: 0; min-height: 618px; height: auto; align-self: start; display: grid; grid-template-rows: 360px auto; overflow: hidden; border-radius: 18px; background: var(--weare-lime); box-shadow: var(--weare-shadow); }
.weare-featured-primary__media { height: 360px; display: grid; place-items: center; overflow: hidden; padding: 24px; background: #fff; }
.weare-featured-primary__media img, .weare-boost-card__media img, .weare-boost-modal__media img, .weare-profile-compact__media img, .weare-business-hero__media img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}
.weare-featured-primary__media img { max-height: 312px !important; }
.weare-featured-primary__media img { transition: opacity .2s ease; }
.weare-featured-primary:hover .weare-featured-primary__media img { opacity: .94; }
.weare-featured-primary__body { min-height: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 26px; background: var(--weare-lime); }
.weare-featured-primary__body h3 { margin: 0 0 9px; font-size: clamp(31px, 4vw, 47px); line-height: .92; letter-spacing: -.055em; font-weight: 950; }
.weare-featured-primary__body p { margin: 0 0 13px; font-size: 16px; line-height: 1.3; font-weight: 700; }
.weare-featured-primary__city { margin-bottom: 18px; font-size: 13px; font-weight: 950; }
.weare-button--primary-card { margin-top: auto; color: #fff; background: var(--weare-navy); }
.weare-package-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 0 10px; border-radius: 999px; color: #fff; background: var(--weare-navy); text-transform: uppercase; font-size: 10px; font-weight: 950; letter-spacing: .07em; }
.weare-package-badge--boost { color: var(--weare-ink); background: var(--weare-lime); }
.weare-featured-side-list { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.weare-boost-card { min-width: 0; min-height: 300px; display: grid; grid-template-rows: 116px minmax(0, 1fr); overflow: hidden; border-radius: 18px; color: #fff; background: var(--weare-navy); box-shadow: var(--weare-shadow); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.weare-boost-card:hover { transform: translateY(-3px); box-shadow: 0 28px 72px rgba(7, 35, 44, .18); }
.weare-boost-card__media { min-width: 0; min-height: 116px; display: grid; place-items: center; overflow: hidden; padding: 9px; background: #fff; }
.weare-boost-card__media img { max-height: 98px !important; }
.weare-boost-card__body { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 20px; }
.weare-boost-card__body h3 { margin: 0 0 8px; color: #fff; font-size: clamp(23px, 2.45vw, 31px); line-height: .95; letter-spacing: -.045em; font-weight: 950; overflow-wrap: anywhere; }
.weare-boost-card__body p { margin: 0 0 10px; color: rgba(255,255,255,.9); font-size: 13px; line-height: 1.32; font-weight: 700; }
.weare-boost-card__city { margin: 0 0 13px; color: #fff; font-size: 12px; font-weight: 950; }
.weare-boost-card__button { width: 100%; min-height: 42px; margin-top: auto; padding: 8px 13px; border: 0; border-radius: 11px; color: var(--weare-ink); background: var(--weare-lime); font: inherit; font-size: 12px; line-height: 1.15; font-weight: 950; cursor: pointer; }
.weare-boost-card__button:hover, .weare-boost-card__button:focus-visible { background: #fff; }
.weare-business-media-placeholder { width: 100%; height: 100%; min-height: inherit; display: grid; place-items: center; color: rgba(255,255,255,.9); background: linear-gradient(145deg, var(--weare-navy), #17839b); font-size: clamp(64px, 10vw, 126px); line-height: 1; font-weight: 950; }
.weare-boost-modal { width: min(820px, calc(100% - 32px)); max-width: 820px; max-height: calc(100vh - 32px); padding: 0; overflow: visible; border: 0; border-radius: 22px; color: var(--weare-ink); background: transparent; box-shadow: 0 36px 100px rgba(0,0,0,.34); }
.weare-boost-modal::backdrop { background: rgba(4, 19, 25, .74); backdrop-filter: blur(6px); }
.weare-boost-modal__panel { position: relative; max-height: calc(100vh - 32px); display: grid; grid-template-columns: minmax(230px, .82fr) minmax(0, 1.18fr); overflow: auto; border-radius: 22px; background: #fff; }
.weare-boost-modal__close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 42px; height: 42px; display: grid; place-items: center; padding: 0 0 3px; border: 0; border-radius: 50%; color: #fff; background: var(--weare-navy); box-shadow: 0 8px 24px rgba(0,0,0,.2); font: inherit; font-size: 29px; line-height: 1; cursor: pointer; }
.weare-boost-modal__close:hover, .weare-boost-modal__close:focus-visible { color: var(--weare-ink); background: var(--weare-lime); }
.weare-boost-modal__media { min-height: 450px; display: grid; place-items: center; overflow: hidden; padding: 18px; background: #fff; }
.weare-boost-modal__media img { max-height: 414px !important; }
.weare-boost-modal__content { min-width: 0; padding: 42px 30px 30px; }
.weare-boost-modal__content h2 { margin: 0 0 12px; padding-right: 35px; color: var(--weare-navy); font-size: clamp(34px, 5vw, 52px); line-height: .91; letter-spacing: -.055em; font-weight: 950; overflow-wrap: anywhere; }
.weare-boost-modal__content > p { margin: 0 0 13px; font-size: 16px; line-height: 1.4; font-weight: 650; }
.weare-boost-modal__content .weare-boost-modal__city { color: var(--weare-navy); font-size: 13px; font-weight: 950; }
.weare-boost-modal__contacts { display: grid; gap: 9px; margin-top: 22px; }
.weare-boost-modal__contacts a { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 14px; border: 1px solid var(--weare-border); border-radius: 12px; color: var(--weare-navy); background: var(--weare-soft); transition: background .2s ease, border-color .2s ease; }
.weare-boost-modal__contacts a:hover, .weare-boost-modal__contacts a:focus-visible { border-color: var(--weare-lime); background: var(--weare-lime); }
.weare-boost-modal__contacts span { color: var(--weare-muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.weare-boost-modal__contacts strong { text-align: right; font-size: 14px; font-weight: 950; overflow-wrap: anywhere; }
.weare-boost-modal__empty { padding: 14px; border-radius: 11px; background: var(--weare-soft); }
.weare-profile-compact { min-width: 0; min-height: 300px; overflow: hidden; border: 3px solid var(--weare-lime); border-radius: 18px; background: var(--weare-lime); box-shadow: var(--weare-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.weare-profile-compact:hover { transform: translateY(-3px); box-shadow: 0 28px 72px rgba(7, 35, 44, .18); }
.weare-profile-compact > a { height: 100%; display: grid; grid-template-rows: 113px minmax(0, 1fr); }
.weare-profile-compact > a:focus-visible { outline: 4px solid var(--weare-navy); outline-offset: -6px; }
.weare-profile-compact__media { min-width: 0; min-height: 113px; display: grid; place-items: center; overflow: hidden; padding: 9px; background: #fff; }
.weare-profile-compact__media img { max-height: 95px !important; }
.weare-profile-compact__body { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 20px; color: var(--weare-ink); background: var(--weare-lime); }
.weare-profile-compact__body h3 { margin: 0 0 8px; font-size: clamp(23px, 2.45vw, 31px); line-height: .95; letter-spacing: -.045em; font-weight: 950; overflow-wrap: anywhere; }
.weare-profile-compact__body p { margin: 0 0 10px; font-size: 13px; line-height: 1.32; font-weight: 700; }
.weare-profile-compact__city { margin: 0 0 13px; font-size: 12px; font-weight: 950; }
.weare-profile-compact__button { width: 100%; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; margin-top: auto; padding: 8px 13px; border-radius: 11px; color: #fff; background: var(--weare-navy); text-align: center; font-size: 12px; line-height: 1.15; font-weight: 950; }
.weare-featured-empty { margin: 0; padding: 20px 22px; border: 1px solid var(--weare-border); border-radius: 14px; background: var(--weare-soft); font-weight: 750; }
.weare-card { position: relative; border-radius: 14px; overflow: hidden; min-height: 220px; background: #e8eeee; box-shadow: var(--weare-shadow); }
.weare-card img { width: 100%; height: 100%; object-fit: cover; }
.weare-card--large { grid-row: span 2; display: grid; grid-template-rows: 1fr auto; }
.weare-card--large img { min-height: 430px; }
.weare-card--horizontal { display: grid; grid-template-columns: 1fr 1fr; }
.weare-card--overlay img { position: absolute; inset: 0; filter: saturate(.72) brightness(.64); }
.weare-card__body { padding: 25px; position: relative; z-index: 2; }
.weare-card__body h3 { margin: 0 0 8px; font-size: clamp(23px, 3vw, 32px); line-height: .94; letter-spacing: -.04em; font-weight: 950; }
.weare-card__body p { margin: 0 0 14px; font-size: 16px; font-weight: 700; line-height: 1.23; }
.weare-card__body span { font-size: 13px; font-weight: 900; }
.weare-card__body--lime { background: var(--weare-lime); }
.weare-card__body--navy { background: var(--weare-navy); color: #fff; }
.weare-card--overlay .weare-card__body { color: #fff; position: absolute; left: 0; right: 0; bottom: 0; }
.weare-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.weare-category { min-height: 128px; border: 4px solid var(--weare-lime); border-right-color: transparent; border-radius: 16px 32px 32px 16px; transform: skew(-6deg); display: grid; place-items: center; color: var(--weare-navy); transition: transform .2s ease, box-shadow .2s ease; background: #fff; }
.weare-category:hover { transform: skew(-6deg) translateY(-4px); box-shadow: 0 20px 38px rgba(5,87,111,.09); }
.weare-category > * { transform: skew(6deg); }
.weare-category span { font-size: 38px; line-height: 1; }
.weare-category strong { display: block; margin-top: 8px; text-transform: uppercase; font-size: 14px; letter-spacing: -.02em; }
.weare-split { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; }
.weare-split img { border-radius: 14px; height: 245px; width: 100%; object-fit: cover; box-shadow: var(--weare-shadow); }
.weare-split__media { position: relative; isolation: isolate; overflow: hidden; border-radius: 14px; box-shadow: var(--weare-shadow); }
.weare-split__media > img { border-radius: 0; box-shadow: none; }
.weare-split__media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(135deg, rgba(5,87,111,.24), rgba(5,87,111,.52)); -webkit-backdrop-filter: blur(.7px); backdrop-filter: blur(.7px); }
.weare-map-demo { display: grid; grid-template-columns: 1fr 260px; min-height: 250px; border: 1px solid rgba(5,87,111,.14); border-radius: 13px; overflow: hidden; background: #fff; box-shadow: var(--weare-shadow); }
.weare-map-demo__map { position: relative; background: linear-gradient(30deg, transparent 0 48%, rgba(223,241,0,.22) 48% 53%, transparent 53%), linear-gradient(90deg, rgba(5,87,111,.08) 1px, transparent 1px), linear-gradient(0deg, rgba(5,87,111,.08) 1px, transparent 1px); background-size: 100% 100%, 68px 68px, 68px 68px; }
.weare-map-demo__map span { position: absolute; width: 28px; height: 28px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--weare-navy); box-shadow: inset 0 0 0 7px var(--weare-lime), 0 8px 18px rgba(5,87,111,.2); }
.weare-map-demo__map span:nth-child(1){ left: 22%; top: 24%; } .weare-map-demo__map span:nth-child(2){ left: 48%; top: 34%; } .weare-map-demo__map span:nth-child(3){ left: 68%; top: 25%; } .weare-map-demo__map span:nth-child(4){ left: 58%; top: 62%; } .weare-map-demo__map span:nth-child(5){ left: 30%; top: 68%; }
.weare-map-demo aside { padding: 18px; border-left: 1px solid rgba(5,87,111,.12); }
.weare-map-demo input { width: 100%; height: 42px; border-radius: 9px; border: 1px solid rgba(5,87,111,.14); padding: 0 12px; margin-bottom: 14px; font: inherit; }
.weare-map-demo p { margin: 0 0 14px; border-bottom: 1px solid rgba(5,87,111,.1); padding-bottom: 12px; font-size: 13px; line-height: 1.28; }
.weare-cta { padding: 50px 0 72px; text-align: center; }
.weare-cta h2 { margin-bottom: 22px; }
.weare-footer { background: var(--weare-navy); color: #fff; padding: 38px 0; }
.weare-footer__inner { width: min(100% - 56px, 960px); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.weare-footer-menu a, .weare-footer p { color: rgba(255,255,255,.88); font-size: 13px; margin: 10px 0 0; }
.weare-footer__social { display: flex; gap: 14px; }
.weare-footer__social a { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-weight: 900; }
.weare-entry { max-width: 860px; margin: 0 auto; }
.weare-entry__content { font-size: 18px; line-height: 1.6; }
.weare-map-page .weare-section--page > .weare-container { width: min(100% - 56px, 1080px); }
.weare-map-page .weare-entry { width: 100%; max-width: none; }
.weare-map-page .weare-entry__content { font-size: inherit; line-height: normal; }
.weare-map-page .weare-entry__content .weare-section > .weare-container { width: 100%; max-width: none; }
.weare-map-page .weare-real-map { grid-template-columns: minmax(0, 1fr) minmax(290px, 340px); min-height: 520px; }
.weare-map-page .weare-real-map__canvas { min-height: 520px; }
.weare-map-page .weare-real-map__panel { max-height: 520px; }
.woocommerce-shop .woocommerce-products-header__title.page-title { display: none; }
.weare-business-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.weare-business-card { background: #fff; border-radius: var(--weare-radius); overflow: hidden; box-shadow: var(--weare-shadow); }
.weare-business-card__media { display: block; height: 210px; background: linear-gradient(135deg, var(--weare-lime), var(--weare-navy)); }
.weare-business-card__media img { width: 100%; height: 100%; object-fit: cover; }
.weare-business-card__body { padding: 20px; }
.weare-business-card__body h2 { margin: 0 0 8px; font-size: 24px; line-height: 1; letter-spacing: -.04em; }
.weare-business-card__socials, .weare-card__actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.weare-business-card__socials a, .weare-card__actions a { display: inline-flex; padding: 7px 10px; border-radius: 999px; color: #fff; background: var(--weare-navy); font-size: 11px; font-weight: 900; }
.weare-card__body--navy .weare-card__actions a, .weare-card--overlay .weare-card__actions a { color: var(--weare-ink); background: var(--weare-lime); }
.weare-business-hero { padding: 72px 0 34px; }
.weare-business-hero__inner { display: grid; grid-template-columns: 1fr .9fr; gap: 36px; align-items: center; }
.weare-business-hero__copy p { font-size: 18px; line-height: 1.35; font-weight: 650; }
.weare-business-hero__media { min-height: 440px; display: grid; place-items: center; overflow: hidden; padding: 18px; border: 1px solid var(--weare-border); border-radius: var(--weare-radius-lg); background: #fff; box-shadow: var(--weare-shadow); }
.weare-business-hero__media img { max-height: 404px !important; }
.weare-business-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
.weare-business-contact { min-width: 0; min-height: 72px; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 11px; padding: 11px 13px; border: 1px solid var(--weare-border); border-radius: 14px; background: #fff; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
a.weare-business-contact:hover, a.weare-business-contact:focus-visible { border-color: var(--weare-lime); background: var(--weare-lime); transform: translateY(-2px); }
.weare-business-contact--address { grid-column: 1 / -1; }
.weare-business-contact__icon { width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; color: #fff; background: var(--weare-navy); font-size: 17px; line-height: 1; font-weight: 950; }
.weare-business-contact__copy { min-width: 0; display: grid; gap: 2px; padding: 0; border: 0; background: transparent; }
.weare-business-contact__copy small { color: var(--weare-muted); font-size: 10px; line-height: 1.1; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.weare-business-contact__copy strong { color: var(--weare-ink); font-size: 13px; line-height: 1.25; font-weight: 900; overflow-wrap: anywhere; }
.weare-business-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); gap: 42px; align-items: start; }
.weare-business-sidebar { position: sticky; top: 110px; background: #fff; border: 1px solid var(--weare-border); border-radius: var(--weare-radius); padding: 24px; box-shadow: var(--weare-shadow); }
.weare-business-video { margin: 28px 0; overflow: hidden; border-radius: var(--weare-radius); background: #08151a; }
.weare-business-video iframe, .weare-business-video video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.weare-business-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 28px 0; }
.weare-business-gallery img { width: 100%; height: 260px; padding: 8px; border: 1px solid var(--weare-border); border-radius: 14px; object-fit: contain; background: #fff; }
.weare-offer-box { background: var(--weare-lime); border-radius: 18px; padding: 18px; font-weight: 700; }
.weare-product-section { margin-top: 34px; }
.weare-product-section h2 { margin: 0 0 18px; font-size: 30px; line-height: 1; letter-spacing: -.04em; }
.weare-product-section__empty { margin: 0; padding: 18px 20px; border: 1px solid rgba(5,87,111,.14); border-radius: 14px; color: rgba(7,20,26,.7); background: #f8fbfb; font-weight: 750; }
.weare-product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.weare-business-content-blocks { display: grid; gap: 22px; margin-top: 34px; }
.weare-business-content-block { margin: 0; }
.weare-business-content-block--heading h2, .weare-business-content-block--video h2 { margin: 0; color: var(--weare-navy); font-size: clamp(28px,4vw,44px); line-height: 1; letter-spacing: -.04em; }
.weare-business-content-block--text { font-size: 18px; line-height: 1.72; }
.weare-business-content-block--text > :first-child { margin-top: 0; }
.weare-business-content-block--text > :last-child { margin-bottom: 0; }
.weare-business-content-block--image img { display: block; width: 100%; height: auto; border-radius: 18px; }
.weare-business-content-block--image figcaption { margin-top: 8px; color: rgba(7,20,26,.65); font-size: 13px; font-weight: 750; }
.weare-business-content-block--video { display: grid; gap: 14px; }
.weare-business-content-block--video iframe { display: block; width: 100%; max-width: 100%; aspect-ratio: 16/9; height: auto; border: 0; border-radius: 18px; }
.weare-product-card { background: #fff; border: 1px solid var(--weare-border); border-radius: 14px; overflow: hidden; box-shadow: var(--weare-shadow); }
.weare-product-card__media { display: grid; min-height: 220px; place-items: center; padding: 14px; background: var(--weare-soft); }
.weare-product-card__media img { width: 100%; height: 220px; object-fit: contain; }
.weare-product-card__body { padding: 20px; display: grid; align-content: center; gap: 12px; }
.weare-product-card__body h3 { margin: 0; font-size: 22px; line-height: 1; letter-spacing: -.035em; }
.weare-product-card__body strong { color: var(--weare-navy); font-size: 18px; }
.weare-product-card:only-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(260px, .85fr) minmax(230px, 1.15fr); }
.weare-offer-grid, .weare-shop-grid, .weare-stats-grid { display: grid; gap: 18px; }
.weare-offer-grid { grid-template-columns: repeat(3, 1fr); }
.weare-shop-grid, .weare-stats-grid { grid-template-columns: repeat(4, 1fr); }
.weare-offer-card, .weare-shop-card, .weare-stat-card { background: #fff; border: 1px solid var(--weare-border); border-radius: 14px; overflow: hidden; box-shadow: var(--weare-shadow); }
.weare-offer-card__media, .weare-shop-card__media { display: block; min-height: 180px; background: linear-gradient(135deg, var(--weare-lime), var(--weare-navy)); }
.weare-offer-card__media img, .weare-shop-card__media img { width: 100%; height: 180px; object-fit: cover; }
.weare-offer-card__body, .weare-shop-card__body { padding: 18px; display: grid; gap: 9px; }
.weare-offer-card__body span, .weare-shop-card__body span { color: var(--weare-navy); text-transform: uppercase; font-size: 11px; font-weight: 950; letter-spacing: .06em; }
.weare-offer-card__body h3, .weare-shop-card__body h3 { margin: 0; font-size: 22px; line-height: 1; letter-spacing: -.04em; font-weight: 950; }
.weare-offer-card__body p { margin: 0; color: var(--weare-muted); font-size: 14px; line-height: 1.3; font-weight: 650; }
.weare-shop-card__body strong { color: var(--weare-navy); font-size: 18px; }
.weare-sponsor-slot { display: grid; grid-template-columns: 1.05fr .95fr; gap: 30px; align-items: center; background: #fff; border: 1px solid var(--weare-border); border-radius: 14px; padding: 28px; box-shadow: var(--weare-shadow); }
.weare-sponsor-slot h2, .weare-vendor-cta h2 { margin: 0 0 12px; font-size: clamp(32px, 4.4vw, 52px); line-height: .95; letter-spacing: -.055em; font-weight: 950; }
.weare-sponsor-slot p:not(.weare-kicker), .weare-vendor-cta p:not(.weare-kicker) { margin: 0 0 18px; font-size: 18px; line-height: 1.3; font-weight: 700; }
.weare-sponsor-slot img { width: 100%; height: 290px; object-fit: cover; border-radius: 12px; }
.weare-main-sponsors { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.weare-main-sponsor { min-height: 190px; display: grid; grid-template-rows: 1fr auto; overflow: hidden; border: 1px solid var(--weare-border); border-radius: 14px; background: #fff; box-shadow: var(--weare-shadow); transition: transform .2s ease, box-shadow .2s ease; }
a.weare-main-sponsor:hover { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(7, 35, 44, .16); }
.weare-main-sponsor--full { grid-column: span 6; }
.weare-main-sponsor--half { grid-column: span 3; }
.weare-main-sponsor--third { grid-column: span 2; }
.weare-main-sponsor__logo { position: relative; isolation: isolate; min-height: 132px; display: grid; place-items: center; padding: 24px; overflow: hidden; background: var(--weare-sponsor-background-color, var(--weare-soft)); }
.weare-main-sponsor__background, .weare-main-sponsor__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.weare-main-sponsor__background { z-index: 0; object-fit: cover; }
.weare-main-sponsor__overlay { z-index: 1; background: var(--weare-sponsor-overlay-color, var(--weare-navy)); opacity: var(--weare-sponsor-overlay-opacity, .45); }
.weare-main-sponsor__logo-content { position: relative; z-index: 2; display: grid; place-items: center; width: 100%; }
.weare-main-sponsor__logo-content img { width: min(100%, var(--weare-sponsor-logo-size, 104px)); height: var(--weare-sponsor-logo-size, 104px); object-fit: contain; }
.weare-main-sponsor__logo-content span { color: var(--weare-navy); font-size: 28px; font-weight: 950; letter-spacing: -.05em; text-align: center; }
.weare-main-sponsor__logo--photo .weare-main-sponsor__logo-content span { color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,.5); }
.weare-main-sponsor__body { padding: 15px 18px 17px; background: #fff; }
.weare-main-sponsor__body span { color: var(--weare-navy); text-transform: uppercase; font-size: 11px; font-weight: 950; letter-spacing: .07em; }
.weare-main-sponsor__body h3 { margin: 4px 0 0; color: var(--weare-ink); font-size: 23px; line-height: 1; letter-spacing: -.04em; font-weight: 950; }
.weare-stat-card { min-height: 140px; padding: 24px; display: grid; align-content: center; gap: 8px; border-left: 8px solid var(--weare-lime); }
.weare-stat-card strong { color: var(--weare-navy); font-size: clamp(38px, 5vw, 60px); line-height: .9; font-weight: 950; letter-spacing: -.05em; }
.weare-stat-card span { color: var(--weare-ink); text-transform: uppercase; font-size: 13px; font-weight: 950; letter-spacing: .04em; }
.weare-vendor-cta { text-align: center; background: #fff; border: 1px solid var(--weare-border); border-radius: 14px; padding: 42px; box-shadow: var(--weare-shadow); }
.weare-vendor-cta p:not(.weare-kicker) { max-width: 650px; margin-left: auto; margin-right: auto; }
@media (max-width: 860px) {
    .weare-page-shell { width: 100%; }
    .weare-container, .weare-footer__inner { width: min(100% - 32px, 960px); }
    .weare-header__inner { padding: 0 18px; min-height: 72px; }
    .weare-header__brand img, .custom-logo { width: min(260px, 68vw); }
    .weare-header__toggle { display: block; }
    .weare-header__nav { position: fixed; top: 72px; left: 16px; right: 16px; transform: translateY(-12px); opacity: 0; pointer-events: none; background: #fff; border-radius: 22px; padding: 24px; box-shadow: var(--weare-shadow); display: block; transition: .2s ease; }
    .weare-menu-open .weare-header__nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
    .weare-menu { display: grid; gap: 16px; }
    .weare-header__actions { align-items: stretch; flex-direction: column; margin-top: 20px; }
    .weare-header__customer { padding: 10px 0; }
    .weare-header__logout { align-self: flex-start; }
    .weare-header__vendor { justify-content: space-between; }
    .weare-header__account { margin-top: 20px; }
    .weare-hero { padding-top: 54px; }
    .weare-hero__content { margin-left: 42px; }
    .weare-corner { width: 165px; height: 235px; left: -12px; }
    .weare-featured-grid, .weare-split, .weare-map-demo, .weare-business-hero__inner, .weare-business-detail, .weare-sponsor-slot { grid-template-columns: 1fr; }
    .weare-featured-side-list, .weare-featured-grid--boost-only .weare-featured-side-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .weare-boost-card, .weare-profile-compact > a { grid-template-rows: 150px minmax(0, 1fr); }
    .weare-boost-card__media, .weare-profile-compact__media { min-height: 150px; }
    .weare-boost-card__media img, .weare-profile-compact__media img { max-height: 132px !important; }
    .weare-boost-modal__panel { grid-template-columns: minmax(210px, .75fr) minmax(0, 1.25fr); }
    .weare-main-sponsors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .weare-main-sponsor--full, .weare-main-sponsor--half, .weare-main-sponsor--third { grid-column: span 1; }
    .weare-card--horizontal { grid-template-columns: 1fr; }
    .weare-card--horizontal img { height: 230px; }
    .weare-card--large img { min-height: 300px; }
    .weare-category-grid, .weare-business-list, .weare-product-grid, .weare-offer-grid, .weare-shop-grid, .weare-stats-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
    .weare-map-demo aside { border-left: 0; border-top: 1px solid rgba(5,87,111,.12); }
    .weare-footer__inner { display: grid; }
}
@media (max-width: 560px) {
    .weare-hero__content { margin-left: 18px; }
    .weare-hero h1 { font-size: 42px; }
    .weare-category-grid, .weare-business-list, .weare-product-grid, .weare-offer-grid, .weare-shop-grid, .weare-stats-grid, .weare-main-sponsors { grid-template-columns: 1fr; }
    .weare-featured-side-list, .weare-featured-grid--boost-only .weare-featured-side-list { grid-template-columns: 1fr; }
    .weare-featured-primary { min-height: 500px; height: auto; grid-template-rows: 270px auto; }
    .weare-featured-primary__media { height: 270px; min-height: 270px; }
    .weare-featured-primary__media img { max-height: 222px !important; }
    .weare-featured-primary__body { min-height: 230px; padding: 22px; }
    .weare-boost-card, .weare-profile-compact > a { min-height: 0; grid-template-rows: 140px auto; }
    .weare-boost-card__media, .weare-profile-compact__media { min-height: 140px; }
    .weare-boost-card__media img, .weare-profile-compact__media img { max-height: 122px !important; }
    .weare-boost-card__body, .weare-profile-compact__body { padding: 16px; }
    .weare-boost-card__body h3, .weare-profile-compact__body h3 { font-size: 23px; }
    .weare-boost-card__body p, .weare-profile-compact__body p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    .weare-boost-modal { width: min(100% - 20px, 520px); max-height: calc(100vh - 20px); }
    .weare-boost-modal__panel { max-height: calc(100vh - 20px); grid-template-columns: 1fr; grid-template-rows: 190px auto; }
    .weare-boost-modal__media { min-height: 190px; }
    .weare-boost-modal__media img { max-height: 154px !important; }
    .weare-boost-modal__content { padding: 25px 20px 24px; }
    .weare-boost-modal__content h2 { padding-right: 0; }
    .weare-business-hero__media { min-height: 300px; padding: 12px; }
    .weare-business-hero__media img { max-height: 276px !important; }
    .weare-business-meta { grid-template-columns: 1fr; }
    .weare-business-contact--address { grid-column: auto; }
    .weare-business-gallery { grid-template-columns: 1fr; }
    .weare-footer-menu { display: grid; gap: 10px; }
}

/* Pagine a moduli */
.weare-icon-section .weare-kicker { margin-bottom: 10px; }
.weare-icon-grid { display: grid; gap: 22px; }
.weare-icon-grid--1 { grid-template-columns: 1fr; }
.weare-icon-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.weare-icon-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.weare-icon-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.weare-icon-card { min-width: 0; min-height: 210px; padding: 26px; border: 1px solid rgba(5,87,111,.13); border-radius: 22px; color: var(--weare-ink); background: #fff; box-shadow: 0 16px 40px rgba(5,87,111,.08); }
.weare-icon-card > span { width: 56px; height: 56px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 17px; color: var(--weare-ink); background: var(--weare-lime); font-size: 25px; font-weight: 950; }
.weare-icon-card h3 { margin: 0 0 10px; color: inherit; font-size: 22px; line-height: 1.08; font-weight: 950; letter-spacing: -.035em; }
.weare-icon-card p { margin: 0; color: var(--weare-muted); font-size: 15px; line-height: 1.55; font-weight: 650; }
.weare-icon-card > .weare-icon-card__symbol { color: var(--weare-navy); background: #f0f5f5; border: 1px solid var(--weare-border); border-radius: 14px; }
.weare-line-icon { display: block; flex: 0 0 auto; }
.weare-split > div .weare-button { margin-top: 22px; }

/* Archivio categorie attività */
.weare-taxonomy-hero { position: relative; overflow: hidden; padding: 72px 0; color: #fff; background: var(--weare-navy); }
.weare-taxonomy-hero::after { position: absolute; right: -100px; bottom: -190px; width: 440px; height: 440px; border: 62px solid rgba(223,241,0,.22); border-radius: 50%; content: ""; }
.weare-taxonomy-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 42px; align-items: center; }
.weare-taxonomy-hero__icon { width: 140px; height: 140px; display: grid; place-items: center; border-radius: 34px; background: var(--weare-lime); color: var(--weare-ink); font-size: 66px; box-shadow: 0 22px 52px rgba(0,0,0,.16); }
.weare-taxonomy-hero h1 { margin: 6px 0 12px; color: #fff; font-size: clamp(54px, 8vw, 96px); line-height: .87; font-weight: 950; letter-spacing: -.07em; }
.weare-taxonomy-hero p:not(.weare-kicker) { max-width: 720px; margin: 0; color: rgba(255,255,255,.82); font-size: 19px; line-height: 1.5; font-weight: 680; }
.weare-taxonomy-listing__head { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 34px; }
.weare-taxonomy-listing__head h2 { margin: 5px 0 0; color: var(--weare-navy); font-size: clamp(34px, 5vw, 52px); line-height: .95; font-weight: 950; letter-spacing: -.055em; }
.weare-taxonomy-listing__head > a { color: var(--weare-navy); font-weight: 950; text-decoration: none; }
.weare-taxonomy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.weare-taxonomy-card { overflow: hidden; border: 1px solid var(--weare-border); border-radius: 26px; background: #fff; box-shadow: 0 18px 48px rgba(5,87,111,.09); transition: transform .2s ease, box-shadow .2s ease; }
.weare-taxonomy-card:hover { transform: translateY(-5px); box-shadow: 0 25px 58px rgba(5,87,111,.15); }
.weare-taxonomy-card__media { height: 300px; min-height: 270px; display: grid; place-items: center; overflow: hidden; padding: 22px; background: #f2f6f6; text-decoration: none; }
.weare-taxonomy-card__media img { display: block; width: auto; height: auto; max-width: 84%; max-height: 248px; object-fit: contain; object-position: center; transition: transform .35s ease; }
.weare-taxonomy-card:hover .weare-taxonomy-card__media img { transform: scale(1.02); }
.weare-taxonomy-card__media > span { font-size: 74px; }
.weare-taxonomy-card__body { display: grid; gap: 12px; padding: 28px; }
.weare-taxonomy-card__city { justify-self: start; padding: 7px 10px; border-radius: 999px; color: var(--weare-navy); background: var(--weare-lime); font-size: 11px; font-weight: 950; text-transform: uppercase; }
.weare-taxonomy-card h3 { margin: 0; font-size: 30px; line-height: 1; letter-spacing: -.045em; }
.weare-taxonomy-card h3 a { color: var(--weare-navy); text-decoration: none; }
.weare-taxonomy-card p, .weare-taxonomy-card small { margin: 0; color: var(--weare-muted); line-height: 1.55; font-weight: 650; }
.weare-taxonomy-card__cta { justify-self: start; margin-top: 6px; color: var(--weare-navy); font-weight: 950; text-decoration: none; }
.weare-taxonomy-empty { max-width: 720px; margin: 0 auto; padding: 55px; border-radius: 30px; text-align: center; background: #f4f7f7; }
.weare-taxonomy-empty > span { font-size: 64px; }
.weare-taxonomy-empty h2 { margin: 16px 0 12px; color: var(--weare-navy); font-size: 38px; }
.weare-taxonomy-empty .weare-button { margin-top: 18px; }

/* Link multimediali nelle schede attività */
.weare-business-action-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 30px 0; }
.weare-business-action-links a { display: flex; gap: 12px; align-items: center; min-height: 64px; padding: 12px 18px; border-radius: 16px; color: #fff; background: var(--weare-navy); text-decoration: none; box-shadow: 0 12px 28px rgba(5,87,111,.14); }
.weare-business-action-links a:hover { color: var(--weare-ink); background: var(--weare-lime); transform: translateY(-2px); }
.weare-business-action-links span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--weare-ink); background: var(--weare-lime); font-weight: 950; }
.weare-business-action-links a:hover span { color: #fff; background: var(--weare-navy); }
.weare-business-action-links strong { font-size: 15px; font-weight: 950; }
.weare-digital-product-cta { display: inline-flex !important; margin-top: 14px !important; }

/* Footer aziendale completo */
.weare-footer { padding: 54px 0 42px; }
.weare-footer__inner { width: min(100% - 56px, 1160px); display: grid; grid-template-columns: minmax(230px, .8fr) minmax(380px, 1.5fr) auto; align-items: start; gap: 42px; }
.weare-footer__company { display: grid; gap: 9px; }
.weare-footer__company strong { color: #fff; font-size: 21px; line-height: 1.05; font-weight: 950; letter-spacing: -.035em; }
.weare-footer__company span { color: rgba(255,255,255,.75); font-size: 14px; }
.weare-footer__company a { color: #fff; font-size: 14px; font-weight: 850; text-decoration: none; }
.weare-footer__company a:hover { color: var(--weare-lime); }
.weare-footer__departments { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; }
.weare-footer__departments a { display: grid; gap: 2px; color: #fff; font-size: 13px; font-weight: 800; text-decoration: none; }
.weare-footer__departments span { color: var(--weare-lime); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.weare-footer__legal { display: flex; gap: 16px; color: rgba(255,255,255,.82) !important; font-size: 12px !important; }

@media (max-width: 900px) {
    .weare-icon-grid--4, .weare-icon-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .weare-footer__inner { grid-template-columns: 1fr 1.5fr; }
    .weare-footer__social { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    .weare-category-grid, .weare-taxonomy-grid, .weare-icon-grid--4, .weare-icon-grid--3, .weare-icon-grid--2, .weare-business-action-links { grid-template-columns: 1fr; }
    .weare-category { min-height: 170px; padding: 22px; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; }
    .weare-category__icon { width: 62px; height: 62px; border-radius: 17px; font-size: 28px; }
    .weare-taxonomy-hero { padding: 52px 0; }
    .weare-taxonomy-hero__inner { grid-template-columns: 74px minmax(0, 1fr); gap: 20px; }
    .weare-taxonomy-hero__icon { width: 72px; height: 72px; border-radius: 20px; font-size: 34px; }
    .weare-taxonomy-listing__head { display: grid; align-items: start; }
    .weare-taxonomy-card__media { min-height: 220px; height: 220px; padding: 18px; }
    .weare-taxonomy-card__media img { max-height: 184px; }
    .weare-footer__inner { width: min(100% - 32px, 1160px); grid-template-columns: 1fr; gap: 28px; }
    .weare-footer__social { grid-column: auto; }
}

/* Chi siamo: sintesi editoriale del progetto territoriale */
.weare-about-hero { position: relative; overflow: hidden; padding: 76px 0 68px; background: linear-gradient(145deg, #fff 0 62%, rgba(223,241,0,.24) 62% 100%); }
.weare-about-hero::before { position: absolute; top: -100px; left: -120px; width: 310px; height: 310px; border: 34px solid rgba(5,87,111,.06); border-radius: 50%; content: ""; }
.weare-about-hero__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(350px, .92fr); gap: 54px; align-items: center; }
.weare-about-hero__copy h1 { max-width: 640px; margin: 0 0 22px; color: var(--weare-navy); font-size: clamp(50px, 7vw, 78px); line-height: .9; letter-spacing: -.07em; font-weight: 950; }
.weare-about-hero__copy > p:not(.weare-kicker) { max-width: 640px; margin: 0; color: var(--weare-ink); font-size: clamp(18px, 2vw, 22px); line-height: 1.35; font-weight: 680; }
.weare-about-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.weare-button--outline { border: 2px solid var(--weare-navy); color: var(--weare-navy); background: transparent; box-shadow: none; }
.weare-button--outline:hover { color: #fff; background: var(--weare-navy); }
.weare-about-hero__visual { position: relative; min-height: 470px; overflow: hidden; border-radius: 34px; background: var(--weare-navy); box-shadow: var(--weare-shadow); }
.weare-about-hero__city { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.weare-about-hero__logo { position: absolute; right: 24px; bottom: 24px; width: min(74%, 310px); padding: 17px 20px; border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 18px 50px rgba(0,0,0,.22); }
.weare-about-hero__logo img { width: 100%; height: auto; }
.weare-about-origin { padding: 74px 0; color: #fff; background: var(--weare-navy); }
.weare-about-origin__inner { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); gap: 70px; align-items: start; }
.weare-about-origin .weare-kicker { color: var(--weare-lime); }
.weare-about-origin h2, .weare-about-heading h2, .weare-about-vision h2 { margin: 0; font-size: clamp(38px, 5vw, 61px); line-height: .95; letter-spacing: -.06em; font-weight: 950; }
.weare-about-origin__text { display: grid; gap: 17px; }
.weare-about-origin__text p { margin: 0; color: rgba(255,255,255,.88); font-size: 18px; line-height: 1.5; font-weight: 650; }
.weare-about-origin__text strong { display: block; margin-top: 6px; padding-left: 18px; border-left: 7px solid var(--weare-lime); color: #fff; font-size: 22px; line-height: 1.35; }
.weare-about-network, .weare-about-benefits, .weare-about-vision { padding-top: 82px; padding-bottom: 82px; }
.weare-about-heading { max-width: 720px; }
.weare-about-heading h2, .weare-about-vision h2 { color: var(--weare-ink); }
.weare-about-heading > p:not(.weare-kicker), .weare-about-vision__inner > div > p:not(.weare-kicker) { margin: 20px 0 0; color: var(--weare-muted); font-size: 18px; line-height: 1.5; font-weight: 650; }
.weare-about-audiences { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 2px; margin-top: 44px; overflow: hidden; border: 1px solid var(--weare-border); border-radius: 22px; background: var(--weare-border); }
.weare-about-audiences article { min-height: 245px; padding: 26px 22px; background: #fff; }
.weare-about-audiences span { color: var(--weare-navy); font-size: 13px; font-weight: 950; letter-spacing: .08em; }
.weare-about-audiences h3 { margin: 37px 0 10px; font-size: 24px; line-height: 1; letter-spacing: -.04em; font-weight: 950; }
.weare-about-audiences p { margin: 0; color: var(--weare-muted); font-size: 15px; line-height: 1.4; font-weight: 650; }
.weare-about-how { padding-top: 82px; padding-bottom: 82px; color: #fff; background: #071a22; }
.weare-about-heading--light h2 { color: #fff; }
.weare-about-heading--light .weare-kicker { color: var(--weare-lime); }
.weare-about-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 30px; margin-top: 46px; }
.weare-about-steps article { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 17px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.22); }
.weare-about-steps article > strong { color: var(--weare-lime); font-size: 44px; line-height: .85; font-weight: 950; }
.weare-about-steps h3 { margin: 0 0 9px; color: #fff; font-size: 27px; line-height: 1; letter-spacing: -.04em; }
.weare-about-steps p { margin: 0; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.45; font-weight: 620; }
.weare-about-benefits__inner { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 65px; align-items: start; }
.weare-about-benefit-list { display: grid; }
.weare-about-benefit-list article { padding: 25px 0; border-top: 1px solid var(--weare-border); }
.weare-about-benefit-list article:last-child { border-bottom: 1px solid var(--weare-border); }
.weare-about-benefit-list span { color: var(--weare-navy); font-size: 11px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.weare-about-benefit-list h3 { margin: 7px 0 7px; font-size: 27px; line-height: 1; letter-spacing: -.045em; }
.weare-about-benefit-list p { margin: 0; color: var(--weare-muted); font-size: 15px; line-height: 1.45; font-weight: 650; }
.weare-about-community { padding: 82px 0; color: var(--weare-ink); background: var(--weare-lime); }
.weare-about-community__inner { max-width: 800px; text-align: center; }
.weare-about-community blockquote { margin: 18px 0 24px; font-size: clamp(37px, 5.5vw, 65px); line-height: .98; letter-spacing: -.06em; font-weight: 950; }
.weare-about-community__inner > p:last-child { max-width: 680px; margin: 0 auto; font-size: 18px; line-height: 1.5; font-weight: 700; }
.weare-about-vision__inner { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: 60px; align-items: center; }
.weare-about-vision__cta { display: grid; gap: 24px; padding: 34px; border-radius: 24px; color: #fff; background: var(--weare-navy); box-shadow: var(--weare-shadow); }
.weare-about-vision__cta strong { font-size: 28px; line-height: 1.18; letter-spacing: -.04em; }
.weare-about-vision__cta .weare-button { justify-self: start; }

@media (max-width: 860px) {
    .weare-about-hero__inner, .weare-about-origin__inner, .weare-about-benefits__inner, .weare-about-vision__inner { grid-template-columns: 1fr; }
    .weare-about-hero__visual { min-height: 390px; }
    .weare-about-origin__inner, .weare-about-benefits__inner, .weare-about-vision__inner { gap: 38px; }
    .weare-about-audiences { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .weare-about-steps { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 560px) {
    .weare-about-hero { padding: 54px 0 48px; }
    .weare-about-hero__copy h1 { font-size: 49px; }
    .weare-about-actions { align-items: stretch; flex-direction: column; }
    .weare-about-actions .weare-button { width: 100%; }
    .weare-about-hero__visual { min-height: 300px; border-radius: 24px; }
    .weare-about-hero__logo { right: 16px; bottom: 16px; width: calc(100% - 32px); }
    .weare-about-origin, .weare-about-network, .weare-about-how, .weare-about-benefits, .weare-about-community, .weare-about-vision { padding-top: 58px; padding-bottom: 58px; }
    .weare-about-audiences { grid-template-columns: 1fr; }
    .weare-about-audiences article { min-height: 0; }
    .weare-about-audiences h3 { margin-top: 20px; }
    .weare-about-steps article { grid-template-columns: 45px minmax(0,1fr); }
    .weare-about-community blockquote { font-size: 38px; }
    .weare-about-vision__cta { padding: 26px; }
}

body.weare-marketplace-demo .weare-page-shell { width: min(100%, 1440px); background: #fff; box-shadow: none; }
body.weare-marketplace-demo .weare-main { background: #fff; }
.weare-full-page-content { width: 100%; }
.weare-full-page-content .weare-market-page { margin: 0; }

/* Schede attività e prodotto: usano tutta la larghezza utile senza comprimere i contenuti. */
body.single-weare_business .weare-business-hero > .weare-container,
body.single-weare_business .weare-section > .weare-business-detail,
body.single-product .weare-section--page > .weare-container { width: min(100% - 56px, 1120px); }

/* Scheda prodotto e prenotazione WooCommerce */
body.single-product #sidebar { display: none !important; }
body.single-product .weare-entry { width: 100%; max-width: 1120px; }
body.single-product .weare-entry > h1 { margin-bottom: 30px; }
body.single-product .weare-entry__content { font-size: inherit; line-height: normal; }
body.single-product .woocommerce .single-product > .product { display: grid !important; grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr); gap: 42px; align-items: start; width: 100%; }
body.single-product .woocommerce .single-product > .product > div.images,
body.single-product .woocommerce .single-product > .product > div.summary { float: none !important; width: 100% !important; max-width: none !important; min-width: 0; }
body.single-product .woocommerce div.product div.images { margin: 0; overflow: visible; border-radius: var(--weare-radius); background: transparent; }
body.single-product .woocommerce-product-gallery__wrapper { min-height: 520px; overflow: hidden; border: 1px solid var(--weare-border); border-radius: var(--weare-radius); background: var(--weare-soft); box-shadow: var(--weare-shadow); }
body.single-product .woocommerce-product-gallery__image, body.single-product .woocommerce-product-gallery__image a { display: block; height: 100%; }
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg) { width: 100%; height: 520px; padding: 28px; object-fit: contain; object-position: center; }
body.single-product .woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0 !important; padding: 0 !important; }
body.single-product .woocommerce div.product div.images .flex-control-thumbs li { float: none; width: auto; margin: 0; overflow: hidden; border: 2px solid transparent; border-radius: 12px; background: var(--weare-soft); }
body.single-product .woocommerce div.product div.images .flex-control-thumbs li:has(img.flex-active) { border-color: var(--weare-lime); }
body.single-product .woocommerce div.product div.images .flex-control-thumbs img { width: 100%; height: 88px; padding: 7px; object-fit: contain; opacity: .72; }
body.single-product .woocommerce div.product div.images .flex-control-thumbs img:hover,
body.single-product .woocommerce div.product div.images .flex-control-thumbs img.flex-active { opacity: 1; }
body.single-product .woocommerce div.product div.summary { position: sticky; top: 110px; margin: 0; padding: 32px; border: 1px solid var(--weare-border); border-radius: var(--weare-radius); background: #fff; box-shadow: var(--weare-shadow); }
body.single-product .woocommerce div.product p.price { margin: 0 0 18px; color: var(--weare-navy); font-size: clamp(34px, 4vw, 48px); line-height: .9; font-weight: 950; letter-spacing: -.06em; }
body.single-product .woocommerce div.product p.stock { display: inline-flex; align-items: center; min-height: 31px; margin: 0 0 22px; padding: 0 12px; border-radius: 999px; color: var(--weare-ink); background: var(--weare-lime); font-size: 13px; font-weight: 900; }
body.single-product .woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding-top: 22px; border-top: 1px solid var(--weare-border); }
body.single-product .woocommerce div.product form.cart::before { width: 100%; margin-bottom: 5px; color: var(--weare-muted); content: "Prenota ora: nessun pagamento online."; font-size: 14px; font-weight: 750; line-height: 1.35; }
body.single-product .woocommerce .quantity .qty { width: 74px; min-height: 48px; margin: 0; padding: 0 8px; border: 1px solid var(--weare-border); border-radius: 10px; color: var(--weare-ink); font: inherit; font-weight: 800; text-align: center; }
body.single-product .woocommerce button.single_add_to_cart_button.button { min-height: 48px; margin: 0; padding: 0 23px; border: 0; border-radius: 12px; color: var(--weare-ink); background: var(--weare-lime); box-shadow: 0 10px 22px rgba(223, 241, 0, .35); font: inherit; font-weight: 950; transition: transform .2s ease, box-shadow .2s ease; }
body.single-product .woocommerce button.single_add_to_cart_button.button:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(223, 241, 0, .48); }
body.single-product .woocommerce div.product .product_meta { display: none; }
body.single-product .woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin: 4px 0 0; padding: 30px; border: 1px solid var(--weare-border); border-radius: var(--weare-radius); background: var(--weare-soft); }
body.single-product .woocommerce div.product .woocommerce-tabs .panel { margin: 0; padding: 0; border: 0; }
body.single-product .woocommerce div.product .woocommerce-tabs .panel h2 { margin: 0 0 12px; color: var(--weare-navy); font-size: clamp(26px, 3vw, 34px); line-height: 1; letter-spacing: -.045em; font-weight: 950; }
body.single-product .woocommerce div.product .woocommerce-tabs .panel p { max-width: 720px; margin: 0; color: var(--weare-ink); font-size: 17px; line-height: 1.5; font-weight: 650; }
body.single-product .woocommerce-message, body.single-product .woocommerce-info, body.single-product .woocommerce-error { margin: 0 0 20px; border: 0; border-radius: 12px; color: var(--weare-ink); background: var(--weare-lime); font-weight: 800; }
body.single-product .woocommerce-message::before, body.single-product .woocommerce-info::before, body.single-product .woocommerce-error::before { color: var(--weare-navy); }

@media (max-width: 900px) {
    body.single-weare_business .weare-business-hero > .weare-container,
    body.single-weare_business .weare-section > .weare-business-detail,
    body.single-product .weare-section--page > .weare-container { width: min(100% - 32px, 1120px); }
    body.single-product .weare-entry > h1 { margin-bottom: 22px; }
    body.single-product .woocommerce .single-product > .product { grid-template-columns: 1fr; gap: 22px; }
    body.single-product .woocommerce-product-gallery__wrapper,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg) { min-height: 0; height: min(88vw, 540px); }
    body.single-product .woocommerce div.product div.summary { position: static; }
    body.single-product .woocommerce div.product div.summary, body.single-product .woocommerce div.product .woocommerce-tabs { padding: 22px; }
}

@media (max-width: 560px) {
    .weare-product-card:only-child { display: block; }
    body.single-product .woocommerce div.product div.images .flex-control-thumbs { grid-template-columns: repeat(5, minmax(54px, 1fr)); gap: 7px; overflow-x: auto; }
    body.single-product .woocommerce div.product div.images .flex-control-thumbs img { height: 68px; padding: 5px; }
}

/* Carrello e checkout: stesso linguaggio visivo We Are */
body.woocommerce-cart .weare-entry, body.woocommerce-checkout .weare-entry { max-width: 960px; }
body.woocommerce-cart .weare-entry__content, body.woocommerce-checkout .weare-entry__content { font-size: inherit; line-height: normal; }
body.woocommerce-cart .woocommerce table.shop_table, body.woocommerce-checkout .woocommerce table.shop_table { overflow: hidden; border: 1px solid var(--weare-border); border-radius: 14px; background: #fff; border-collapse: separate; border-spacing: 0; }
body.woocommerce-cart .woocommerce table.shop_table th, body.woocommerce-cart .woocommerce table.shop_table td, body.woocommerce-checkout .woocommerce table.shop_table th, body.woocommerce-checkout .woocommerce table.shop_table td { padding: 18px; border-color: var(--weare-border); color: var(--weare-ink); font-size: 16px; font-weight: 750; }
body.woocommerce-cart .woocommerce table.cart img { width: 72px; border-radius: 10px; }
body.woocommerce-cart .woocommerce a.remove { color: var(--weare-navy) !important; font-size: 28px; font-weight: 950; }
body.woocommerce-cart .woocommerce a.remove:hover { color: #fff !important; background: var(--weare-navy); }
body.woocommerce-cart .woocommerce .coupon { display: flex; gap: 8px; align-items: center; }
body.woocommerce-cart .woocommerce .coupon .input-text, body.woocommerce-page .woocommerce-form-coupon .input-text, body.woocommerce-checkout .woocommerce form .input-text, body.woocommerce-checkout .woocommerce form select { min-height: 46px; border: 1px solid var(--weare-border); border-radius: 10px; color: var(--weare-ink); background: #fff; font: inherit; }
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { float: none; width: min(100%, 430px); margin: 48px 0 0 auto; }
body.woocommerce-cart .woocommerce .cart_totals > h2, body.woocommerce-checkout .woocommerce h3 { margin: 0 0 20px; color: var(--weare-navy); font-size: clamp(30px, 4vw, 44px); line-height: .95; letter-spacing: -.05em; font-weight: 950; }
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout { padding: 20px 0 0; }
body.woocommerce-page .button, body.woocommerce-page a.button, body.woocommerce-page button.button, body.woocommerce-page input.button { box-sizing: border-box; min-height: 46px; border: 0; border-radius: 10px; color: #fff !important; background: var(--weare-navy) !important; font: inherit; font-weight: 900; line-height: 1.1; text-align: center; transition: transform .2s ease, box-shadow .2s ease; }
body.woocommerce-page a.button, body.woocommerce-page button.button { display: inline-flex; align-items: center; justify-content: center; }
body.woocommerce-page .button:hover, body.woocommerce-page a.button:hover, body.woocommerce-page button.button:hover, body.woocommerce-page input.button:hover { color: #fff !important; background: var(--weare-navy-dark) !important; transform: translateY(-2px); box-shadow: 0 12px 22px rgba(5, 87, 111, .2); }
body.woocommerce-cart .woocommerce a.checkout-button, body.woocommerce-checkout .woocommerce #place_order { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; padding: 0 24px; color: var(--weare-ink) !important; background: var(--weare-lime) !important; box-shadow: 0 10px 22px rgba(223, 241, 0, .35); font-size: 17px; }
body.woocommerce-cart .woocommerce a.checkout-button:hover, body.woocommerce-checkout .woocommerce #place_order:hover { color: var(--weare-ink) !important; background: var(--weare-lime-soft) !important; box-shadow: 0 16px 30px rgba(223, 241, 0, .48); }
body.woocommerce-checkout .woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr); gap: 36px; align-items: start; }
body.woocommerce-checkout .woocommerce #customer_details { grid-column: 1; grid-row: 1; margin: 0; padding: 30px; border: 1px solid var(--weare-border); border-radius: var(--weare-radius); background: #fff; box-shadow: var(--weare-shadow); }
body.woocommerce-checkout .woocommerce #customer_details .col-1, body.woocommerce-checkout .woocommerce #customer_details .col-2 { float: none; width: 100%; }
body.woocommerce-checkout .woocommerce form .form-row { margin: 0 0 16px; }
body.woocommerce-checkout .woocommerce form .form-row label { margin-bottom: 7px; color: var(--weare-ink); font-size: 14px; font-weight: 900; }
body.woocommerce-checkout .woocommerce form .form-row .required { color: var(--weare-navy); }
body.woocommerce-checkout .woocommerce #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; }
body.woocommerce-checkout .woocommerce #order_review { grid-column: 2; grid-row: 1; align-self: start; margin-top: 74px; padding: 30px; border: 1px solid var(--weare-border); border-radius: var(--weare-radius); background: #fff; box-shadow: var(--weare-shadow); }
body.woocommerce-checkout .woocommerce #payment { margin-top: 24px; padding: 20px; border-radius: 14px; color: var(--weare-ink); background: var(--weare-soft); }
body.woocommerce-checkout .woocommerce #payment div.form-row { margin-bottom: 0; }
body.woocommerce-checkout .woocommerce .woocommerce-privacy-policy-text { color: var(--weare-muted); font-size: 14px; line-height: 1.45; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info, body.woocommerce-checkout .woocommerce-form-coupon { border-color: var(--weare-border); border-radius: 12px; color: var(--weare-ink); background: var(--weare-soft); }
body.woocommerce-checkout .woocommerce-form-coupon { border: 1px solid var(--weare-border); }

@media (max-width: 760px) {
    body.woocommerce-cart .woocommerce .coupon { align-items: stretch; flex-direction: column; }
    body.woocommerce-cart .woocommerce .coupon .input-text { width: 100%; }
    body.woocommerce-cart .woocommerce table.shop_table th, body.woocommerce-cart .woocommerce table.shop_table td, body.woocommerce-checkout .woocommerce table.shop_table th, body.woocommerce-checkout .woocommerce table.shop_table td { padding: 13px 10px; }
    body.woocommerce-checkout .woocommerce form.checkout { grid-template-columns: 1fr; gap: 24px; }
    body.woocommerce-checkout .woocommerce #customer_details, body.woocommerce-checkout .woocommerce #order_review_heading, body.woocommerce-checkout .woocommerce #order_review { grid-column: auto; grid-row: auto; }
    body.woocommerce-checkout .woocommerce #customer_details, body.woocommerce-checkout .woocommerce #order_review { padding: 22px; }
}

/* Area personale: accesso e pannello coerenti con l'identita We Are */
body.woocommerce-account .weare-section--page .weare-container { width: min(100% - 56px, 1080px); }
body.woocommerce-account .weare-entry { width: 100%; max-width: 1080px; }
body.woocommerce-account .weare-entry > h1 { margin-bottom: 30px; }
body.woocommerce-account .weare-entry__content { font-size: inherit; line-height: normal; }
body.woocommerce-account .woocommerce form.woocommerce-form-login,
body.woocommerce-account .woocommerce form.woocommerce-form-register {
    max-width: 540px;
    margin: 0;
    padding: 32px;
    border: 1px solid var(--weare-border);
    border-radius: var(--weare-radius);
    background: #fff;
    box-shadow: var(--weare-shadow);
}
body.woocommerce-account .woocommerce form .form-row { margin: 0 0 18px; }
body.woocommerce-account .woocommerce form .form-row label { margin-bottom: 7px; color: var(--weare-ink); font-size: 14px; font-weight: 900; }
body.woocommerce-account .woocommerce form .input-text {
    min-height: 48px;
    padding: 0 15px;
    border: 1px solid var(--weare-border);
    border-radius: 10px;
    color: var(--weare-ink);
    background: #fff;
    font: inherit;
}
body.woocommerce-account .woocommerce form .input-text:focus { border-color: var(--weare-navy); outline: 3px solid rgba(5, 87, 111, .12); }
body.woocommerce-account .woocommerce .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; color: var(--weare-muted); font-size: 14px; }
body.woocommerce-account .woocommerce .woocommerce-form-login__submit { min-width: 128px; padding: 0 20px; }
body.woocommerce-account .woocommerce .lost_password { margin: 18px 0 0; }
body.woocommerce-account .woocommerce .lost_password a { color: var(--weare-navy); font-weight: 850; }
body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { display: flex !important; gap: 28px; align-items: flex-start; width: 100%; }
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation { flex: 0 0 230px; width: 230px !important; margin: 0; padding: 12px; border-radius: 16px; background: var(--weare-navy); box-shadow: var(--weare-shadow); }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li + li { margin-top: 3px; }
body.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 14px; border-radius: 9px; color: #fff; font-size: 15px; font-weight: 850; text-decoration: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--weare-ink); background: var(--weare-lime); }
body.woocommerce-account .woocommerce-MyAccount-content { flex: 1 1 0; min-width: 0; min-height: 260px; margin: 0; padding: 32px; border: 1px solid var(--weare-border); border-radius: var(--weare-radius); background: #fff; box-shadow: var(--weare-shadow); }
body.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 { color: var(--weare-navy); font-weight: 950; letter-spacing: -.04em; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table { overflow: hidden; border: 1px solid var(--weare-border); border-radius: 12px; border-collapse: separate; border-spacing: 0; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td { padding: 14px; border-color: var(--weare-border); }
@media (max-width: 760px) {
    body.woocommerce-account .weare-section--page .weare-container { width: min(100% - 32px, 1080px); }
    body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { display: block !important; }
    body.woocommerce-account .woocommerce-MyAccount-navigation { width: 100% !important; margin-bottom: 20px; }
    body.woocommerce-account .woocommerce form.woocommerce-form-login,
    body.woocommerce-account .woocommerce form.woocommerce-form-register,
    body.woocommerce-account .woocommerce-MyAccount-content { padding: 22px; }
}

/* Richiedi informazioni */
.weare-contact-page { position: relative; overflow: hidden; padding: 78px 0 90px; background: linear-gradient(145deg, #fff 0 55%, rgba(223, 241, 0, .2) 55% 100%); }
.weare-contact-page::before { position: absolute; top: -160px; right: -120px; width: 390px; height: 390px; border: 46px solid rgba(5, 87, 111, .055); border-radius: 50%; content: ""; }
.weare-contact-page__inner { position: relative; display: grid; grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr); gap: 66px; align-items: start; }
.weare-contact-copy { position: sticky; top: 124px; padding-top: 16px; }
.weare-contact-copy h1 { max-width: 580px; margin: 0 0 24px; color: var(--weare-navy); font-size: clamp(50px, 6vw, 76px); line-height: .9; letter-spacing: -.068em; font-weight: 950; }
.weare-contact-copy > p:not(.weare-kicker) { max-width: 560px; margin: 0; color: var(--weare-ink); font-size: clamp(18px, 2vw, 21px); line-height: 1.48; font-weight: 670; }
.weare-contact-direct { display: grid; gap: 6px; margin-top: 38px; padding: 24px; border-left: 8px solid var(--weare-lime); border-radius: 0 16px 16px 0; color: #fff; background: var(--weare-navy); box-shadow: var(--weare-shadow); }
.weare-contact-direct span { color: rgba(255,255,255,.72); font-size: 13px; font-weight: 800; }
.weare-contact-direct a { color: #fff; font-size: clamp(17px, 1.65vw, 21px); line-height: 1.15; font-weight: 950; letter-spacing: -.02em; text-decoration: none; overflow-wrap: anywhere; }
.weare-contact-direct a:hover { color: var(--weare-lime); }
.weare-contact-form-card { padding: 34px; border: 1px solid var(--weare-border); border-radius: 28px; background: #fff; box-shadow: 0 24px 70px rgba(5, 87, 111, .14); }
.weare-contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px; }
.weare-contact-field { display: grid; gap: 8px; }
.weare-contact-field--wide { grid-column: 1 / -1; }
.weare-contact-field label { color: var(--weare-ink); font-size: 14px; line-height: 1.25; font-weight: 900; }
.weare-contact-field label > span, .weare-contact-privacy span > span { color: var(--weare-navy); }
.weare-contact-field label small { color: var(--weare-muted); font-size: 11px; font-weight: 750; }
.weare-contact-field input, .weare-contact-field textarea { box-sizing: border-box; width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--weare-border); border-radius: 11px; color: var(--weare-ink); background: #fff; font: inherit; font-size: 16px; font-weight: 650; transition: border-color .2s ease, box-shadow .2s ease; }
.weare-contact-field textarea { min-height: 146px; resize: vertical; }
.weare-contact-field input:focus, .weare-contact-field textarea:focus { border-color: var(--weare-navy); outline: none; box-shadow: 0 0 0 4px rgba(5, 87, 111, .11); }
.weare-contact-privacy { display: flex; gap: 11px; align-items: flex-start; margin-top: 20px; color: var(--weare-muted); font-size: 13px; line-height: 1.45; font-weight: 680; cursor: pointer; }
.weare-contact-privacy input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--weare-navy); }
.weare-contact-submit { min-width: 190px; margin-top: 24px; border: 0; cursor: pointer; }
.weare-contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.weare-contact-notice { display: grid; gap: 5px; margin-bottom: 24px; padding: 18px 20px; border-radius: 13px; color: var(--weare-ink); font-size: 14px; line-height: 1.4; font-weight: 680; }
.weare-contact-notice strong { font-size: 17px; font-weight: 950; }
.weare-contact-notice ul { margin: 5px 0 0; padding-left: 20px; }
.weare-contact-notice--success { background: rgba(223, 241, 0, .72); }
.weare-contact-notice--success a { justify-self: start; margin-top: 8px; color: var(--weare-navy); font-weight: 950; text-decoration: underline; text-underline-offset: 3px; }
.weare-contact-notice--error { border: 1px solid rgba(145, 32, 32, .18); background: #fff0f0; }
.weare-footer p a { color: #fff; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.weare-footer p a:hover { color: var(--weare-lime); }
.weare-footer__note { max-width: 560px; opacity: .88; }

/* Fixed card surfaces keep their own palette inside dark or custom sections. */
.weare-main section[id] { scroll-margin-top: 100px; }
.weare-taxonomy-hero .weare-kicker { color: var(--weare-lime); }
body.single-product .weare-native-product { padding-top: 32px; }
body.single-product .weare-native-product .woocommerce-breadcrumb { margin-bottom: 30px; color: var(--weare-muted); line-height: 1.5; }
body.single-product .weare-native-product .product::before,
body.single-product .weare-native-product .product::after { display: none; }
body.single-product .weare-native-product .product_title { margin: 0 0 22px; color: var(--weare-navy); font-size: clamp(30px, 4vw, 46px); line-height: 1.05; letter-spacing: -.04em; overflow-wrap: anywhere; }
body.single-product .weare-native-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin-bottom: 24px; }
body.single-product .weare-native-product .woocommerce-tabs ul.tabs::before,
body.single-product .weare-native-product .woocommerce-tabs ul.tabs li::before,
body.single-product .weare-native-product .woocommerce-tabs ul.tabs li::after { display: none; }
body.single-product .weare-native-product .woocommerce-tabs ul.tabs li { margin: 0; border: 1px solid var(--weare-border); border-radius: 9px; background: #fff; }
body.single-product .weare-native-product .woocommerce-tabs ul.tabs li.active { color: #fff; border-color: var(--weare-navy); background: var(--weare-navy); }
body.single-product .weare-native-product .related.products { grid-column: 1 / -1; min-width: 0; }
.weare-icon-card, .weare-featured-primary, .weare-profile-compact,
.weare-boost-card, .weare-boost-modal, .weare-business-card,
.weare-product-card, .weare-offer-card, .weare-shop-card, .weare-stat-card,
.weare-main-sponsor__body, .weare-sponsor-slot, .weare-real-map, .weare-map-demo {
    --weare-ink: #0c1116;
    --weare-navy: #05576f;
    --weare-muted: #5f6c74;
    --weare-lime: #dff100;
    --weare-lime-soft: #f0fa4a;
}
.weare-featured-primary, .weare-profile-compact, .weare-business-card,
.weare-product-card, .weare-offer-card, .weare-shop-card, .weare-stat-card,
.weare-sponsor-slot, .weare-real-map, .weare-map-demo { color: var(--weare-ink); }
.weare-footer__inner > * { min-width: 0; }
.weare-footer a { overflow-wrap: anywhere; }
.weare-footer-menu, .weare-footer__legal { flex-wrap: wrap; }
.weare-site :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #1688a3; outline-offset: 4px; }
.weare-footer a:focus-visible { outline-color: var(--weare-lime); }

/* Native WooCommerce catalogue, within the We Are theme. */
.weare-shop { padding: 32px 0 72px; }
.weare-shop > .weare-container { width: min(100% - 56px, 1080px); }
.weare-shop .woocommerce-breadcrumb { margin: 0 0 32px; color: var(--weare-muted); font-size: 13px; line-height: 1.5; }
.weare-shop .woocommerce-breadcrumb a { color: var(--weare-navy); }
.weare-shop__heading { margin-bottom: 36px; }
.weare-shop__heading h1 { margin: 0 0 16px; color: var(--weare-navy); font-size: clamp(40px, 6vw, 64px); line-height: 1.05; letter-spacing: -.055em; }
.weare-shop__heading > p:last-child { margin: 0; color: var(--weare-muted); font-size: 17px; line-height: 1.5; }
.weare-shop__layout { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 32px; align-items: start; }
.weare-shop__sidebar, .weare-shop__results { min-width: 0; }
.weare-shop__sidebar { display: grid; gap: 18px; }
.weare-shop-filters { overflow: hidden; border: 1px solid var(--weare-border); border-radius: 18px; color: var(--weare-ink); background: #fff; }
.weare-shop-filters summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 64px; padding: 20px; color: var(--weare-navy); font-size: 17px; font-weight: 850; list-style: none; cursor: pointer; }
.weare-shop-filters summary::-webkit-details-marker { display: none; }
.weare-shop-filters summary span { font-size: 24px; line-height: 1; transition: transform .2s ease; }
.weare-shop-filters[open] summary span { transform: rotate(45deg); }
.weare-shop-filters__form { display: grid; gap: 23px; padding: 0 20px 22px; }
.weare-shop-filters__field { display: grid; gap: 9px; }
.weare-shop-filters label, .weare-shop-filters legend { color: var(--weare-ink); font-size: 13px; font-weight: 750; }
.weare-shop-filters input:not([type="hidden"]), .weare-shop-filters select,
.weare-shop .woocommerce-ordering select { width: 100%; max-width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--weare-border); border-radius: 9px; color: var(--weare-ink); background: #fff; font: inherit; font-size: 16px; }
.weare-shop-filters__prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
.weare-shop-filters__prices legend { margin-bottom: 10px; }
.weare-shop-filters__prices > div { display: grid; gap: 6px; min-width: 0; }
.weare-shop-filters .button { width: 100%; }
.weare-shop-filters__reset { justify-self: center; color: var(--weare-navy); font-size: 14px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.weare-shop__note { padding: 22px; border-radius: 18px; color: var(--weare-navy); background: #f0f5f5; }
.weare-shop__note strong { display: block; margin-top: 16px; font-size: 16px; }
.weare-shop__note p { margin: 8px 0 0; font-size: 14px; line-height: 1.55; }
.weare-shop .woocommerce-products-header__title { display: none; }
.weare-shop .woocommerce-result-count { margin: 0 12px 22px 0; padding: 14px 0; color: var(--weare-muted); font-size: 14px; }
.weare-shop .woocommerce-ordering { max-width: 100%; margin: 0 0 22px; }
.weare-shop .woocommerce-ordering select { width: auto; }
.woocommerce .weare-shop ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; clear: both; margin: 0; padding: 0; }
.woocommerce .weare-shop ul.products::before, .woocommerce .weare-shop ul.products::after { display: none; }
.woocommerce .weare-shop ul.products li.product { float: none; display: flex; flex-direction: column; width: auto; min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--weare-border); border-radius: 18px; color: var(--weare-ink); background: #fff; }
.woocommerce .weare-shop ul.products li.product a img { width: 100%; height: auto; aspect-ratio: 1; padding: 12px; margin: 0 0 18px; border-radius: 10px; background: var(--weare-soft); object-fit: contain; }
.woocommerce .weare-shop ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0 0 12px; color: var(--weare-ink); font-size: 19px; line-height: 1.25; letter-spacing: -.025em; overflow-wrap: anywhere; }
.woocommerce .weare-shop ul.products li.product .price { margin: 0 0 18px; color: var(--weare-navy); font-size: 18px; line-height: 1.4; font-weight: 800; }
.woocommerce .weare-shop ul.products li.product .button { width: 100%; margin: auto 0 0; padding: 12px; font-size: 14px; }
.woocommerce .weare-shop ul.products li.product .added_to_cart { padding: 12px 0 0; color: var(--weare-navy); text-align: center; font-size: 14px; font-weight: 750; text-decoration: underline; }
.woocommerce .weare-shop ul.products li.product .onsale { top: 24px; right: 24px; min-height: 0; margin: 0; padding: 6px 10px; border-radius: 8px; color: var(--weare-ink); background: var(--weare-lime); line-height: 1.3; }
.weare-shop .woocommerce-info, .weare-shop .woocommerce-message, .weare-shop .woocommerce-error { border-top-color: var(--weare-navy); border-radius: 12px; color: var(--weare-ink); background: var(--weare-soft); font-size: 15px; line-height: 1.5; }
.weare-shop .woocommerce-info::before, .weare-shop .woocommerce-message::before { color: var(--weare-navy); }
.woocommerce .weare-shop nav.woocommerce-pagination { margin-top: 32px; }
.woocommerce .weare-shop nav.woocommerce-pagination ul { border: 0; }
.woocommerce .weare-shop nav.woocommerce-pagination ul li { border: 0; margin: 4px; }
.woocommerce .weare-shop nav.woocommerce-pagination ul li > * { display: grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 10px; color: var(--weare-navy); background: var(--weare-soft); }
.woocommerce .weare-shop nav.woocommerce-pagination ul li .current { color: #fff; background: var(--weare-navy); }
@media (max-width: 1100px) {
    .weare-header__inner { padding: 0 18px; min-height: 72px; }
    .weare-header__brand img, .custom-logo { width: min(260px, 68vw); }
    .weare-header__toggle { display: block; flex: 0 0 44px; width: 44px; height: 44px; cursor: pointer; }
    .weare-header__nav { position: absolute; top: 100%; left: 16px; right: 16px; display: block; max-height: calc(100dvh - 100px); overflow-y: auto; padding: 24px; border: 1px solid var(--weare-border); border-radius: 18px; background: #fff; box-shadow: var(--weare-shadow); visibility: hidden; opacity: 0; transform: translateY(-12px); pointer-events: none; transition: .2s ease; }
    .weare-menu-open .weare-header__nav { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
    .weare-menu { display: grid; gap: 8px; }
    .weare-header__actions { align-items: stretch; flex-direction: column; margin-top: 20px; }
    .weare-header__customer { padding: 10px 0; }
    .weare-header__logout { align-self: flex-start; }
    .weare-header__vendor { justify-content: space-between; white-space: normal; }
    .weare-header__account { margin-top: 20px; }
    .woocommerce .weare-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .weare-shop { padding: 24px 0 48px; }
    .weare-shop > .weare-container { width: calc(100% - 32px); }
    .weare-shop__heading { margin-bottom: 26px; }
    .weare-shop__layout { grid-template-columns: 1fr; gap: 24px; }
    .weare-shop__note { display: none; }
    .weare-shop .woocommerce-result-count, .weare-shop .woocommerce-ordering { float: none; width: 100%; }
    .weare-shop .woocommerce-result-count { margin-bottom: 10px; padding: 0; }
    .weare-shop .woocommerce-ordering select { width: 100%; }
}
@media (max-width: 480px) {
    .woocommerce .weare-shop ul.products { grid-template-columns: 1fr; }
    .woocommerce .weare-shop ul.products li.product { padding: 18px; }
    .weare-icon-card { padding: 24px; }
}

@media (max-width: 900px) {
    .weare-contact-page__inner { grid-template-columns: 1fr; gap: 40px; }
    .weare-contact-copy { position: static; padding-top: 0; }
    .weare-contact-copy > p:not(.weare-kicker) { max-width: 690px; }
    .weare-contact-direct { max-width: 540px; }
}

@media (max-width: 860px) {
    .weare-map-page .weare-section--page > .weare-container { width: min(100% - 32px, 1080px); }
    .weare-map-page .weare-real-map { grid-template-columns: 1fr; min-height: 0; }
    .weare-map-page .weare-real-map__canvas { min-height: 390px; }
    .weare-map-page .weare-real-map__panel { max-height: 430px; }
}

@media (max-width: 560px) {
    .weare-contact-page { padding: 54px 0 62px; }
    .weare-contact-page__inner { gap: 30px; }
    .weare-contact-copy h1 { font-size: 49px; }
    .weare-contact-form-card { padding: 23px; border-radius: 21px; }
    .weare-contact-form__grid { grid-template-columns: 1fr; }
    .weare-contact-field--wide { grid-column: auto; }
    .weare-contact-submit { width: 100%; }
}

/* Product information must remain above its description while scrolling. */
body.single-product .woocommerce div.product div.summary { position: static; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.weare-footer__contact { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; line-height: 1.6; }
.weare-footer p.weare-footer__contact a { min-width: 0; font-weight: 700; }
