/* Pacote 4: Ecossistema — isolated companion to ui-foundation.css.
   Uses .ec root only. Never styles forms/security controls outside opted-in pages. */
.ec{--ec-border:color-mix(in srgb,var(--fk-border) 87%,transparent);--ec-tint:color-mix(in srgb,var(--fk-brand) 7%,var(--fk-surface));display:flex;flex-direction:column;gap:16px;min-width:0;color:var(--fk-text)}
.ec *{box-sizing:border-box}
.ec [hidden]{display:none!important}
.ec :is(a,button,summary,input,textarea,select):focus-visible{outline:2px solid var(--fk-brand);outline-offset:2px}
.ec h1,.ec h2,.ec h3,.ec p{margin-top:0}
.ec .btn{font-weight:700}
.ec .btn svg{width:16px;height:16px}
.ec a{text-decoration:none}
.ec .fk-btn svg{width:16px;height:16px}
@media(min-width:1081px){body:has(.ec) .shell.shell-wide-main{max-width:1720px;grid-template-columns:var(--rail) minmax(0,1fr);gap:16px}body:has(.ec) .shell.shell-wide-main>.main{min-width:0}}
.ec-eyebrow{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:850;color:var(--fk-brand)}
.ec-eyebrow svg{width:16px;height:16px}
.ec-hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;min-width:0;gap:20px;min-height:165px;overflow:hidden;padding:27px 30px;border:1px solid var(--ec-border);border-radius:19px;background:radial-gradient(ellipse at 89% 20%,color-mix(in srgb,var(--fk-brand) 16%,transparent),transparent 46%),linear-gradient(115deg,var(--fk-surface),color-mix(in srgb,var(--fk-brand-tint) 58%,var(--fk-surface)))}
.ec-hero::after{position:absolute;z-index:-1;right:-75px;top:-162px;content:"";width:380px;height:380px;border:1px solid color-mix(in srgb,var(--fk-brand) 18%,transparent);border-radius:50%;box-shadow:0 0 0 47px color-mix(in srgb,var(--fk-brand) 3%,transparent),0 0 0 94px color-mix(in srgb,var(--fk-brand) 3%,transparent)}
.ec-hero-text{min-width:0;max-width:740px}
.ec-hero h1{font-family:var(--display);font-size:clamp(28px,3vw,40px);line-height:1.14;letter-spacing:-.038em;color:var(--fk-text);margin:9px 0 9px;font-weight:810;overflow-wrap:anywhere}
.ec-hero p{font-size:13px;line-height:1.65;color:var(--fk-text-secondary);margin:0;max-width:62ch}
.ec-hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative;z-index:1}
.ec-hero-actions .fk-btn{box-shadow:var(--shadow-sm)}
.ec-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ec-stat{display:flex;gap:11px;align-items:center;min-width:0;padding:14px 16px;background:var(--fk-surface);border:1px solid var(--ec-border);border-radius:14px}
.ec-stat-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:var(--fk-brand-tint);color:var(--fk-brand)}
.ec-stat-icon svg{width:20px;height:20px}
.ec-stat-icon.green{background:var(--green-tint);color:var(--green)}
.ec-stat-icon.violet{background:color-mix(in srgb,#8e6ad0 13%,var(--fk-surface));color:#8c60cd}
.ec-stat>span:last-child{display:grid;gap:2px;min-width:0}
.ec-stat small,.ec-stat em{font-size:10px;line-height:1.35;color:var(--fk-text-muted);font-style:normal}
.ec-stat strong{font-size:23px;font-weight:820;letter-spacing:-.035em;line-height:1.08;color:var(--fk-text)}
.ec-directory-columns{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,2.18fr) minmax(180px,.75fr);gap:13px;align-items:start;min-width:0}
.ec-sidebar,.ec-main,.ec-insights{min-width:0;display:flex;flex-direction:column;gap:13px}
.ec-panel{border:1px solid var(--ec-border);border-radius:14px;padding:15px;background:var(--fk-surface);min-width:0}
.ec-panel h2,.ec-panel h3{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:810;line-height:1.4;margin:0 0 10px}
.ec-panel h2 svg,.ec-panel h3 svg{width:17px;height:17px;color:var(--fk-brand)}
.ec-panel p{color:var(--fk-text-muted);font-size:11.5px;line-height:1.65;margin:0 0 11px}
.ec-panel p:last-child{margin-bottom:0}
.ec-side-nav{display:grid;gap:3px}
.ec-side-nav a{display:flex;align-items:center;gap:8px;padding:9px;border-radius:9px;font-size:11.5px;font-weight:735;color:var(--fk-text-secondary)}
.ec-side-nav a svg{width:17px;height:17px;flex:none}
.ec-side-nav a:hover,.ec-side-nav a.on{background:var(--fk-brand-tint);color:var(--fk-brand-strong)}
.ec-guidance{background:linear-gradient(132deg,var(--ec-tint),var(--fk-surface))}
.ec-guidance .fk-btn{width:100%;justify-content:center}
.ec-section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;min-width:0}
.ec-section-head h2{font-size:18px;letter-spacing:-.03em;font-weight:820;margin:0}
.ec-section-head p{margin:3px 0 0;font-size:11px;color:var(--fk-text-muted)}
.ec-view-controls{display:flex;align-items:center;gap:4px;flex:none}
.ec-view-controls button{display:grid;place-items:center;width:35px;height:35px;padding:0;cursor:pointer;color:var(--fk-text-muted);background:var(--fk-surface);border:1px solid var(--fk-border);border-radius:9px}
.ec-view-controls button svg{width:17px;height:17px}
.ec-view-controls button[aria-pressed="true"]{background:var(--fk-brand-tint);color:var(--fk-brand-strong);border-color:color-mix(in srgb,var(--fk-brand) 37%,var(--fk-border))}
.ec-directory .filters,.ec-directory .cls-search{margin:0;max-width:100%;min-width:0;border-color:var(--ec-border);border-radius:12px;background:var(--fk-surface)}
.ec-directory .seg{display:flex;max-width:100%;gap:5px;overflow-x:auto;flex-wrap:wrap;scrollbar-width:thin}
.ec-directory .seg a{border-radius:9px;font-size:11px;font-weight:750}
.ec-directory .place-scope{min-width:0;overflow-wrap:anywhere;border-radius:12px;border-color:var(--ec-border)}
.ec-directory .biz-grid,.ec-directory .ent-grid,.ec-directory .cls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.ec-directory .biz-card,.ec-directory .ent-card,.ec-directory .ad-card{min-width:0;overflow:hidden;border:1px solid var(--ec-border);border-radius:14px;background:var(--fk-surface);box-shadow:var(--fk-shadow-card);transition:border-color .17s,transform .17s,box-shadow .17s}
.ec-directory :is(.biz-card,.ent-card,.ad-card):hover{border-color:color-mix(in srgb,var(--fk-brand) 34%,var(--fk-border));box-shadow:var(--shadow-md);transform:translateY(-1px)}
.ec-directory .biz-cover,.ec-directory .ent-cover{min-height:112px}
.ec-directory .biz-body,.ec-directory .ent-body{padding:13px}
.ec-directory .biz-name,.ec-directory .ent-name{font-size:14px;font-weight:810;color:var(--fk-text)}
.ec-directory .biz-meta,.ec-directory .ent-meta{color:var(--fk-text-muted);font-size:11px}
.ec-directory .biz-grid[data-view="list"],.ec-directory .ent-grid[data-view="list"],.ec-directory .cls-grid[data-view="list"]{grid-template-columns:minmax(0,1fr)}
.ec-directory .biz-grid[data-view="list"] .biz-card,.ec-directory .ent-grid[data-view="list"] .ent-card{display:grid;grid-template-columns:minmax(105px,150px) minmax(0,1fr);min-height:116px}
.ec-directory .biz-grid[data-view="list"] .biz-cover,.ec-directory .ent-grid[data-view="list"] .ent-cover{height:100%;align-self:stretch}
.ec-directory .cls-grid[data-view="list"] .ad-card{max-width:100%}
.ec-directory .empty{padding:35px 20px;border:1px dashed var(--ec-border);border-radius:14px;background:var(--fk-surface)}
.ec-directory .ec-main>.seo-discovery-links,.ec-directory .ec-main>.hub-place-links{margin-top:10px}
/* Entity & business profiles: preserve cover/avatar/segment behavior. */
.ec-detail{max-width:1370px;margin-inline:auto;gap:13px}
.ec-detail .back-link{display:inline-flex;align-items:center;gap:6px;color:var(--fk-brand-strong);font-size:12px;font-weight:790}
.ec-detail .ent-card-profile{border:1px solid var(--ec-border);border-radius:17px;overflow:hidden!important;box-shadow:var(--fk-shadow-card);margin:0!important}
.ec-detail .ent-card-profile>.cover{height:clamp(205px,23vw,300px)}
.ec-detail .pe-float{padding:20px 23px}
.ec-detail .pe-name-row h1{font-family:var(--display);font-size:clamp(25px,2.8vw,36px);letter-spacing:-.04em;line-height:1.2}
.ec-detail .pe-seg{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;border-radius:12px}
.ec-detail .pe-seg-btn{font-size:11px;font-weight:740;min-width:max-content}
.ec-detail .ptabs{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;border-radius:12px;padding:7px}
.ec-detail .ptab{display:inline-flex;gap:6px;border-radius:9px;font-size:11px;font-weight:760;min-width:max-content}
.ec-detail .ptab.on{background:var(--fk-brand-tint);color:var(--fk-brand-strong)}
.ec-detail .pe-actions-row{flex-wrap:wrap}
.ec-detail .card{min-width:0;border-radius:13px}
.ec-detail .wall-filter{max-width:100%}
.ec-detail .post{min-width:0}
.ec-detail .post-body{overflow-wrap:anywhere}
.ec-detail .crosslink-group{border-radius:12px}
/* General search: keep live autocomplete and privacy logic unchanged. */
.ec-search .global-search-card{margin:0;min-width:0;border:1px solid var(--ec-border);border-radius:15px;box-shadow:var(--fk-shadow-card)}
.ec-search .search-form-modern{max-width:100%;min-width:0}
.ec-search .search-live-panel{z-index:50}
.ec-search .global-search-scopes{display:flex;gap:7px;flex-wrap:wrap}
.ec-search .search-scope-chip{border-radius:10px}
.ec-search .search-results-summary{color:var(--fk-text-secondary);font-size:12px}
.ec-search .search-discovery{padding:17px;border-radius:14px;border:1px solid var(--ec-border);background:var(--fk-surface)}
.ec-search .people-grid,.ec-search .place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.ec-search .person-card,.ec-search .place-card{min-width:0;border:1px solid var(--ec-border);border-radius:13px}
.ec-search .search-post-feed{display:flex;flex-direction:column;gap:11px;overflow:visible;background:transparent;border:0;box-shadow:none}
.ec-search .search-post-feed>.post{border:1px solid var(--ec-border);border-radius:14px;background:var(--fk-surface);box-shadow:var(--fk-shadow-card)}
.ec-search .search-empty-compact{border:1px dashed var(--ec-border);border-radius:14px}
/* Consistent business/job/entity forms and personal settings, no widget resets. */
.ec-form,.ec-settings{max-width:1340px;margin-inline:auto;width:100%}
.ec-form-layout,.ec-settings-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(190px,.8fr);gap:14px;align-items:start}
.ec-form-main,.ec-settings-main{display:flex;flex-direction:column;gap:13px;min-width:0}
.ec-form .card.card-pad,.ec-settings .card.card-pad,.ec-form form.card,.ec-settings form.card{border:1px solid var(--ec-border);border-radius:14px;background:var(--fk-surface);box-shadow:var(--fk-shadow-card);margin:0!important;padding:20px}
.ec-form .field,.ec-settings .field{min-width:0}
.ec-form .field :is(input,textarea,select),.ec-settings .field :is(input,textarea,select){max-width:100%;border-radius:10px}
.ec-form textarea,.ec-settings textarea{max-width:100%;resize:vertical}
.ec-form .form-row,.ec-settings .form-row{max-width:100%;flex-wrap:wrap}
.ec-form .form-actions,.ec-settings .form-actions{display:flex;flex-wrap:wrap;gap:10px}
.ec-form .media-upload{max-width:100%}
.ec-form .ec-form-tips,.ec-settings .ec-form-tips{position:sticky;top:75px}
.ec-form-tipline{display:flex;gap:8px;align-items:flex-start;padding:10px;border-radius:10px;background:var(--fk-brand-tint);color:var(--fk-text-secondary);font-size:11px;line-height:1.55}
.ec-form-tipline svg{flex:none;width:16px;height:16px;color:var(--fk-brand)}
.ec-settings .set-photos{gap:12px;flex-wrap:wrap}
.ec-settings .set-photo-block{min-width:0;border-radius:12px}
.ec-settings .set-photo-btns{display:flex;flex-wrap:wrap;gap:7px}
.ec-settings .passkey-item,.ec-settings .security-session-item{border-radius:11px}
.ec-settings .profile-completion-alert{border-radius:12px}
.ec-settings .security-delete-form{max-width:100%}
.ec-settings .kid-summary-card{border:1px solid var(--ec-border);border-radius:14px;box-shadow:var(--fk-shadow-card);margin:0!important}
.ec-settings .kid-summary-card summary{border-radius:13px}
.ec-settings .cf-list{padding:5px 14px;background:var(--fk-surface);border:1px solid var(--ec-border);border-radius:14px}
.ec-settings .cf-row{gap:10px;padding:12px 0}
.ec-settings .ec-settings-main .card{border-color:var(--ec-border);border-radius:14px}
.ec-settings .ec-person-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.ec-settings .ec-person-row>:nth-child(2){flex:1 1 180px;min-width:0}
.ec-settings .ec-person-row .btn{max-width:100%}
@media(max-width:1500px){.ec-directory-columns{grid-template-columns:minmax(175px,.75fr) minmax(0,2fr)}.ec-insights{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1080px){.ec-directory-columns{grid-template-columns:minmax(0,1fr)}.ec-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ec-insights{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.ec-form-layout,.ec-settings-layout{grid-template-columns:minmax(0,1fr)}.ec-form .ec-form-tips,.ec-settings .ec-form-tips{position:static}.ec-directory .biz-grid,.ec-directory .ent-grid,.ec-directory .cls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.ec-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-hero{padding:21px}.ec-directory .seg{flex-wrap:nowrap}.ec-directory .biz-grid,.ec-directory .ent-grid,.ec-directory .cls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ec{gap:13px}.ec-hero{min-height:0;flex-direction:column;align-items:stretch;padding:19px 17px;gap:14px;border-radius:15px}.ec-hero h1{font-size:29px}.ec-hero p{font-size:12px}.ec-hero-actions .fk-btn{flex:1 1 auto}.ec-hero:after{right:-225px;opacity:.45}.ec-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-stat{padding:10px;gap:8px}.ec-stat-icon{width:33px;height:33px;flex-basis:33px}.ec-stat-icon svg{width:17px;height:17px}.ec-stat strong{font-size:18px}.ec-stat em,.ec-stat small{font-size:9px}.ec-sidebar,.ec-insights{grid-template-columns:minmax(0,1fr)}.ec-directory .biz-grid,.ec-directory .ent-grid,.ec-directory .cls-grid,.ec-search .people-grid,.ec-search .place-grid{grid-template-columns:minmax(0,1fr)}.ec-directory .biz-grid[data-view="list"] .biz-card,.ec-directory .ent-grid[data-view="list"] .ent-card{grid-template-columns:100px minmax(0,1fr)}.ec-form .card.card-pad,.ec-settings .card.card-pad,.ec-form form.card,.ec-settings form.card{padding:15px}.ec-form-layout,.ec-settings-layout{gap:12px}.ec-detail .ent-card-profile>.cover{height:210px}.ec-detail .pe-float{padding:15px}.ec-detail .pe-top{flex-wrap:wrap}}
@media(max-width:390px){.ec-stat em{display:none}.ec-directory .cls-search{flex-wrap:wrap}.ec-detail .pe-seg{max-width:100%}}
@media(prefers-reduced-motion:reduce){.ec-directory :is(.biz-card,.ent-card,.ad-card){transition:none}.ec-directory :is(.biz-card,.ent-card,.ad-card):hover{transform:none}}

/* Shared editorial page headings for existing forms and account settings. */
.ec .page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;min-width:0;gap:13px;margin:0!important;padding:23px 25px;border:1px solid var(--ec-border);border-radius:17px;background:linear-gradient(120deg,var(--fk-surface),var(--ec-tint))}
.ec .page-head>div{min-width:0}
.ec .page-head h1{font-family:var(--display);font-size:clamp(24px,2.6vw,34px);letter-spacing:-.035em;line-height:1.17;margin:0 0 5px;color:var(--fk-text);overflow-wrap:anywhere}
.ec .page-head .sub{font-size:12px;line-height:1.6;color:var(--fk-text-secondary)}
.ec .page-head .btn{max-width:100%}
.ec-form .ec-form-main>.back-link,.ec-settings .ec-settings-main>.back-link{display:inline-flex;align-items:center;gap:6px;width:fit-content;color:var(--fk-brand-strong);font-size:12px;font-weight:770}
.ec-form .ec-form-main>.ec-hero{min-height:120px;padding:23px}
.ec-form .ec-form-main>.ec-hero h1{font-size:clamp(25px,2.65vw,34px)}
.ec-form .ec-form-main>h1{font-family:var(--display);font-size:28px;letter-spacing:-.032em}
.ec-settings .ec-settings-main>.card{max-width:100%}
.ec .ec-form-tipline span{min-width:0}
.ec-settings .ec-settings-main>.alert,.ec-form .ec-form-main>.alert{margin:0}
.ec-directory .ec-main .filters .seg{padding:5px}
.ec-directory .ec-main>.cls-grid{margin:0}
.ec-directory .ec-main>.biz-grid,.ec-directory .ec-main>.ent-grid{margin:0}
.ec-directory .ec-main>.empty{margin:0}
.ec-directory .ec-main>.cls-search input[type="search"]{min-width:0}
.ec-search .ec-main>.search-results-summary{margin-top:2px}
.ec-search .ec-main .search-live-panel{box-shadow:var(--shadow-md)}
.ec-detail .ent-card-profile .pe-name-block{min-width:0}
.ec-detail .ent-card-profile .pe-name-row{flex-wrap:wrap}
.ec-detail .ent-card-profile .pe-name-row h1{min-width:0;overflow-wrap:anywhere}
@media(max-width:720px){.ec .page-head{padding:17px}.ec .page-head h1{font-size:25px}.ec-form .ec-form-main>.ec-hero{padding:18px}.ec-search .global-search-card{padding:14px}}
