.iceeft-v2-directory { --iceeft-v2-primary: #365797; --iceeft-v2-accent: #365797; --iceeft-v2-text: #173d70; --iceeft-v2-border: #d1d1d1; color: var(--iceeft-v2-text); font-family: Arial, sans-serif; }
.iceeft-v2-directory * { box-sizing: border-box; }
.iceeft-v2-home-search { --iceeft-v2-primary: #365797; --iceeft-v2-accent: #365797; --iceeft-v2-text: #173d70; --iceeft-v2-border: #d1d1d1; color: var(--iceeft-v2-text); font-family: Arial, sans-serif; }
.iceeft-v2-home-search * { box-sizing: border-box; }
.iceeft-v2-home-search form { display: grid; grid-template-columns: minmax(0, 1fr); gap: .9rem; align-items: start; }
.iceeft-v2-home-search-tabs { display: flex; flex-wrap: wrap; gap: .45rem; }
.iceeft-v2-home-search-tabs button { appearance: none; padding: .68rem .8rem; border: 0; background: #c7ccd4; color: #fff; cursor: pointer; font: 500 .9rem Arial, sans-serif; }
.iceeft-v2-home-search-tabs button[aria-selected="true"] { background: #6e747b; }
.iceeft-v2-home-search-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; min-width: 0; }
.iceeft-v2-home-search-panel[hidden] { display: none; }
.iceeft-v2-home-search label { display: grid; min-width: 0; }
.iceeft-v2-screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.iceeft-v2-home-search:not(.iceeft-v2-home-has-province) .iceeft-v2-home-search-panel[data-iceeft-v2-search-panel="location"] label:first-child { grid-column: 1 / -1; }
.iceeft-v2-home-search input, .iceeft-v2-home-search select { width: 100%; min-height: 2.6rem; padding: .55rem .9rem; border: 0; border-radius: 2px; background: #fff; color: var(--iceeft-v2-text); font: inherit; }
.iceeft-v2-home-search-panel[data-iceeft-v2-search-panel="city"] label, .iceeft-v2-home-search-panel[data-iceeft-v2-search-panel="name"] label { grid-column: 1 / -1; }
.iceeft-v2-home-search form > button[type="submit"] { justify-self: start; min-height: 2.6rem; padding: .55rem 1.3rem; border: 1px solid var(--iceeft-v2-primary); border-radius: 999px; background: var(--iceeft-v2-primary); color: #fff; cursor: pointer; font: 600 .9rem Arial, sans-serif; white-space: nowrap; }
.iceeft-v2-directory-shell { display: grid; gap: 2rem; }
.iceeft-v2-filters { display: grid; gap: 1rem; }
.iceeft-v2-filters > label, .iceeft-v2-filters fieldset { display: grid; gap: .35rem; margin: 0; padding: 0; border: 0; color: var(--iceeft-v2-text); font-size: .9rem; }
.iceeft-v2-filters label { font-weight: 600; }
.iceeft-v2-filters input[type="search"], .iceeft-v2-filters select { width: 100%; min-height: 2.5rem; padding: .55rem .7rem; border: 1px solid var(--iceeft-v2-border); border-radius: 2px; background: #fff; color: var(--iceeft-v2-text); font: inherit; }
.iceeft-v2-filters select:disabled, .iceeft-v2-home-search select:disabled { cursor: not-allowed; background: #edf0f2; color: #7a858f; }
.iceeft-v2-filters [hidden], .iceeft-v2-home-search [hidden] { display: none !important; }
.iceeft-v2-filters legend { margin-bottom: .35rem; color: var(--iceeft-v2-text); font-size: .9rem; font-weight: 600; }
.iceeft-v2-filters fieldset label, .iceeft-v2-focus-checkboxes label { display: block; margin: 0 0 .45rem; font-weight: 400; }
.iceeft-v2-filters input[type="checkbox"] { width: 1rem; height: 1rem; margin: 0 .35rem 0 0; vertical-align: middle; accent-color: var(--iceeft-v2-accent); }
.iceeft-v2-filters button, .iceeft-v2-pagination button, .iceeft-v2-action { border: 1px solid var(--iceeft-v2-primary); border-radius: var(--iceeft-v2-button-radius, 4px); background: var(--iceeft-v2-primary); color: #fff; cursor: pointer; font: 600 .85rem Arial, sans-serif; text-align: center; text-decoration: none; }
.iceeft-v2-filters button { min-height: 2.75rem; padding: .65rem 1.2rem; }
.iceeft-v2-status { padding: .1rem 0 .7rem; color: var(--iceeft-v2-text); }
.iceeft-v2-results { display: grid; gap: 1rem; }
.iceeft-v2-results h2 { margin: 0 0 .25rem; color: var(--iceeft-v2-accent); font-size: 1.35rem; }
.iceeft-v2-results p { margin: .35rem 0; line-height: 1.55; }
.iceeft-v2-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1.4rem 0; }
.iceeft-v2-pagination button { padding: .6rem 1rem; }
.iceeft-v2-pagination button:disabled { opacity: .45; cursor: not-allowed; }

/* Default: mirrors the current community-site sidebar and horizontal result cards. */
.iceeft-v2-layout-sidebar_list .iceeft-v2-directory-shell { grid-template-columns: minmax(220px, var(--iceeft-v2-sidebar-width, 28fr)) minmax(0, var(--iceeft-v2-content-width, 72fr)); align-items: start; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-filters { padding: .5rem 0; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-filters fieldset, .iceeft-v2-layout-sidebar_list .iceeft-v2-focus-checkboxes [data-filter="focus-checkboxes"] { gap: .4rem; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-focus-checkboxes [data-filter="focus-checkboxes"] { display: grid; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-filters fieldset label { display: flex; align-items: center; gap: .45rem; margin: 0; line-height: 1.25; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-filters fieldset input[type="checkbox"] { flex: 0 0 1rem; margin: 0; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-focus-checkboxes { gap: .35rem; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-filters .iceeft-v2-focus-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-width: 0; min-height: 2.5rem; padding: .55rem .7rem; border: 1px solid var(--iceeft-v2-border); border-radius: 2px; background: #fff; color: var(--iceeft-v2-text); font: inherit; font-weight: 400; text-align: left; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-focus-toggle > span:last-child { color: var(--iceeft-v2-primary); font-size: 1.15rem; line-height: 1; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-focus-toggle[aria-expanded="true"] > span:last-child { transform: rotate(45deg); }
.iceeft-v2-layout-sidebar_list .iceeft-v2-focus-content { max-height: 19rem; overflow-y: auto; padding: .65rem .7rem; border: 1px solid var(--iceeft-v2-border); border-radius: 2px; background: #fff; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-focus-content[hidden] { display: none; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-focus-content-expanded { max-height: none; overflow: visible; padding: 0; border: 0; background: transparent; }
.iceeft-v2-layout-sidebar_list .iceeft-v2-filters button { justify-self: start; min-width: 124px; background: var(--iceeft-v2-accent); border-color: var(--iceeft-v2-accent); }
.iceeft-v2-list-card { display: grid; grid-template-columns: 200px minmax(0, 1fr) 207px; gap: 1.25rem; padding: .9rem; border: 1px solid var(--iceeft-v2-border); border-radius: 10px; background: #fff; }
.iceeft-v2-member-image-link { display: block; color: inherit; }
.iceeft-v2-list-card .iceeft-v2-member-image-link, .iceeft-v2-list-card .iceeft-v2-member-image-link img { width: 200px; height: 200px; }
.iceeft-v2-list-card .iceeft-v2-member-image-link img { display: block; object-fit: cover; background: #eee; }
.iceeft-v2-member-main { min-width: 0; }
.iceeft-v2-member-main h2 a, .iceeft-v2-grid-card h2 a { color: inherit; text-decoration: none; }
.iceeft-v2-member-main h2 a:hover, .iceeft-v2-grid-card h2 a:hover { text-decoration: underline; }
.iceeft-v2-member-roles { color: #111; font-weight: 700; }
.iceeft-v2-member-location, .iceeft-v2-member-services, .iceeft-v2-profile-location, .iceeft-v2-profile-services { display: flex; align-items: flex-start; gap: .5rem; }
.iceeft-v2-location-icon, .iceeft-v2-service-icon { width: 1.1rem; height: 1.1rem; flex: 0 0 1.1rem; margin-top: .15rem; }
.iceeft-v2-member-actions { display: grid; align-content: start; gap: .35rem; }
.iceeft-v2-member-actions p { margin: .1rem 0 .75rem; text-align: center; }
.iceeft-v2-member-actions a:not(.iceeft-v2-action) { color: var(--iceeft-v2-text); text-decoration: none; }
.iceeft-v2-phone-link { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; color: var(--iceeft-v2-text); text-decoration: underline; }
.iceeft-v2-phone-icon { width: 1em; height: 1em; flex: 0 0 1em; }
.iceeft-v2-action { display: block; width: 100%; padding: .75rem .5rem; }
.iceeft-v2-action:not(.iceeft-v2-action-primary) { background: #fff; color: var(--iceeft-v2-primary); }
.iceeft-v2-action-primary { background: var(--iceeft-v2-primary); }
.iceeft-v2-about { margin-top: 1rem !important; }

/* Alternative: the compact grid currently included with the plugin. */
.iceeft-v2-layout-grid_cards .iceeft-v2-filters { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); align-items: start; padding: 1.25rem; border: 1px solid var(--iceeft-v2-border); border-radius: 8px; background: #fff; }
.iceeft-v2-layout-grid_cards .iceeft-v2-results { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.iceeft-v2-grid-card { display: grid; grid-template-columns: 128px minmax(0, 1fr); align-items: start; gap: 1rem; min-width: 0; min-height: 160px; padding: 1rem; border: 1px solid var(--iceeft-v2-border); border-radius: 8px; background: #fff; }
.iceeft-v2-grid-card .iceeft-v2-member-image-link, .iceeft-v2-grid-card .iceeft-v2-member-image-link img { width: 128px; height: 128px; }
.iceeft-v2-grid-card .iceeft-v2-member-image-link img { display: block; object-fit: cover; background: #eee; }
.iceeft-v2-grid-card .iceeft-v2-title { color: var(--iceeft-v2-primary); }

/* Alternative: photo-forward profile cards that link directly to each profile. */
.iceeft-v2-layout-profile_tiles .iceeft-v2-filters { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); align-items: start; padding: 1.25rem; border: 1px solid var(--iceeft-v2-border); border-radius: 8px; background: #fff; }
.iceeft-v2-layout-profile_tiles .iceeft-v2-results { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.iceeft-v2-tile-card { min-width: 0; overflow: hidden; border: 1px solid var(--iceeft-v2-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 12px rgba(23, 61, 112, .08); transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.iceeft-v2-tile-card:hover { border-color: var(--iceeft-v2-primary); box-shadow: 0 9px 20px rgba(23, 61, 112, .14); transform: translateY(-2px); }
.iceeft-v2-tile-link { display: block; height: 100%; color: inherit; text-decoration: none; }
.iceeft-v2-tile-image { display: block; aspect-ratio: 1 / 1; background: #eef1f4; }
.iceeft-v2-tile-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.iceeft-v2-tile-content { display: grid; gap: .65rem; padding: 1.1rem 1.15rem 1.2rem; }
.iceeft-v2-tile-content h2 { margin: 0; color: var(--iceeft-v2-accent); font-size: 1.2rem; line-height: 1.25; }
.iceeft-v2-tile-roles { color: var(--iceeft-v2-text); font-weight: 700; line-height: 1.45; }
.iceeft-v2-tile-location, .iceeft-v2-tile-services, .iceeft-v2-tile-phone { display: flex; align-items: flex-start; gap: .45rem; color: var(--iceeft-v2-text); font-size: .92rem; line-height: 1.45; }
.iceeft-v2-tile-location svg, .iceeft-v2-tile-services svg, .iceeft-v2-tile-phone svg { width: 1rem; height: 1rem; flex: 0 0 1rem; margin-top: .16rem; }

.iceeft-v2-profile { --profile-primary: #365797; --profile-border: #d1d1d1; --iceeft-v2-primary: #365797; color: #284b75; font-family: Arial, sans-serif; }
.iceeft-v2-profile-back { margin: 0 0 1rem; }
.iceeft-v2-profile-back a { color: #175dca; text-decoration: none; font-weight: 600; }
.iceeft-v2-profile-header { display: grid; grid-template-columns: 200px minmax(0, 1fr) 208px; gap: 1.35rem; padding: 1.25rem; border: 1px solid var(--profile-border); border-radius: 3px; background: #fff; }
.iceeft-v2-profile-header > img { width: 200px; height: 200px; object-fit: cover; background: #eee; }
.iceeft-v2-profile-header > * { min-width: 0; }
.iceeft-v2-profile-main h1 { margin: .1rem 0 .2rem; color: #102f56; font-size: clamp(1.6rem, 3vw, 2.1rem); }
.iceeft-v2-profile-main h1, .iceeft-v2-profile-main p, .iceeft-v2-profile-actions { overflow-wrap: anywhere; }
.iceeft-v2-profile-main p { margin: .7rem 0; line-height: 1.5; }
.iceeft-v2-profile-roles { color: #102f56; font-size: 1.1rem; }
.iceeft-v2-profile-actions { display: grid; align-content: start; gap: .45rem; }
.iceeft-v2-profile-actions > p { margin: .35rem 0 .8rem; text-align: center; }
.iceeft-v2-profile-actions > p .iceeft-v2-phone-link { color: #284b75; }
.iceeft-v2-profile-actions .iceeft-v2-action { padding: .75rem .5rem; }
.iceeft-v2-profile-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin: 1.5rem 0; }
.iceeft-v2-profile-details p { margin: .45rem 0; line-height: 1.55; }
.iceeft-v2-profile-about { margin: 1.5rem 0; }
.iceeft-v2-profile h2 { color: #284b75; font-size: 1.2rem; }
.iceeft-v2-profile-about p { line-height: 1.7; }
.iceeft-v2-profile-map { margin: 1.75rem 0; }
.iceeft-v2-profile-map iframe { width: 100%; height: 400px; border: 0; }
.iceeft-v2-profile-map a { display: inline-block; margin-top: .55rem; color: #175dca; }
.iceeft-v2-modal[aria-hidden="true"] { display: none; }
.iceeft-v2-modal { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 1.25rem; background: rgba(12, 22, 34, .66); }
.iceeft-v2-modal-open { overflow: hidden; }
.iceeft-v2-modal-dialog { position: relative; width: min(100%, 780px); max-height: min(calc(100dvh - 2rem), 960px); overflow: auto; padding: 2.2rem; border-radius: 10px; background: #fff; box-shadow: 0 22px 70px rgba(0, 0, 0, .35); color: #20354e; }
.iceeft-v2-modal-dialog h2 { margin: 0 0 1.4rem; color: #20354e; font-size: 1.35rem; }
.iceeft-v2-modal-close { position: absolute; top: .75rem; right: .9rem; border: 0; background: transparent; color: #8b9198; cursor: pointer; font-size: 2rem; line-height: 1; }
.iceeft-v2-modal-notice { margin: 0 0 2rem; line-height: 1.6; }
.iceeft-v2-modal form > label, .iceeft-v2-modal-grid > label, .iceeft-v2-modal fieldset { display: grid; gap: .45rem; color: #20354e; font-size: .9rem; font-weight: 600; }
.iceeft-v2-modal form > label > span, .iceeft-v2-modal-grid > label > span { display: block; }
.iceeft-v2-modal input:not([type="radio"]), .iceeft-v2-modal textarea { width: 100%; min-height: 2.5rem; padding: .6rem .7rem; border: 1px solid #788596; border-radius: 3px; background: #fff; color: #20354e; font: inherit; }
.iceeft-v2-modal textarea { min-height: 150px; resize: vertical; }
.iceeft-v2-modal em { margin-left: .35rem; color: #dc372d; font-size: .78rem; font-style: normal; }
.iceeft-v2-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; margin: 0 0 1.35rem; }
.iceeft-v2-modal fieldset { border: 0; margin: 0; padding: 0; }
.iceeft-v2-modal fieldset label { margin: .15rem 0; font-weight: 400; }
.iceeft-v2-modal small { display: block; margin: .35rem 0 1rem; color: #5d6773; font-weight: 400; }
.iceeft-v2-modal .iceeft-v2-action { width: auto; min-width: 90px; }
.iceeft-v2-form-status { min-height: 1.4rem; margin: .75rem 0; color: #284b75; font-weight: 600; }
.iceeft-v2-recaptcha { margin: 1.25rem 0; }
.iceeft-v2-recaptcha[data-recaptcha-type="v2_invisible"] { height: 0; margin: 0; overflow: hidden; }
.iceeft-v2-modal form.is-submitted > :not(.iceeft-v2-form-status) { display: none; }
.iceeft-v2-modal.is-submitted .iceeft-v2-modal-notice { display: none; }
.iceeft-v2-modal form.is-submitted .iceeft-v2-form-status { min-height: 0; margin: 2rem 0; padding: 1rem 1.15rem; border: 1px solid #acd9bc; border-radius: 5px; background: #eff9f1; color: #185d35; font-size: 1rem; line-height: 1.5; }
.iceeft-v2-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

@media (max-width: 800px) { .iceeft-v2-layout-sidebar_list .iceeft-v2-directory-shell, .iceeft-v2-layout-grid_cards .iceeft-v2-filters, .iceeft-v2-layout-grid_cards .iceeft-v2-results { grid-template-columns: 1fr; } .iceeft-v2-layout-profile_tiles .iceeft-v2-results { grid-template-columns: repeat(2, minmax(0, 1fr)); } .iceeft-v2-list-card { grid-template-columns: 112px minmax(0, 1fr); } .iceeft-v2-list-card .iceeft-v2-member-image-link, .iceeft-v2-list-card .iceeft-v2-member-image-link img { width: 112px; height: 112px; } .iceeft-v2-member-actions { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); } .iceeft-v2-member-actions p { display: none; } .iceeft-v2-profile-header { grid-template-columns: 1fr; gap: 1rem; padding: 1rem; } .iceeft-v2-profile-header > img { width: min(100%, 240px); height: auto; aspect-ratio: 1 / 1; } .iceeft-v2-profile-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); } .iceeft-v2-profile-actions > p { grid-column: 1 / -1; margin: 0; text-align: left; } .iceeft-v2-profile-details { grid-template-columns: 1fr; gap: .75rem; margin: 1.25rem 0; } .iceeft-v2-profile-map iframe { height: 280px; } }
@media (max-width: 600px) { .iceeft-v2-home-search form { grid-template-columns: 1fr; } .iceeft-v2-home-search-panel { grid-template-columns: 1fr; gap: .45rem; } .iceeft-v2-home-search form > button[type="submit"] { width: 100%; } .iceeft-v2-modal { padding: .75rem; } .iceeft-v2-modal-dialog { padding: 1.5rem; } .iceeft-v2-modal-grid { grid-template-columns: 1fr; gap: 1rem; } }
@media (max-width: 480px) { .iceeft-v2-list-card { grid-template-columns: 1fr; } .iceeft-v2-list-card .iceeft-v2-member-image-link, .iceeft-v2-list-card .iceeft-v2-member-image-link img { width: 100%; height: auto; max-height: 280px; } .iceeft-v2-grid-card { grid-template-columns: 104px minmax(0, 1fr); min-height: 136px; } .iceeft-v2-grid-card .iceeft-v2-member-image-link, .iceeft-v2-grid-card .iceeft-v2-member-image-link img { width: 104px; height: 104px; } .iceeft-v2-layout-profile_tiles .iceeft-v2-results { grid-template-columns: 1fr; } .iceeft-v2-member-actions, .iceeft-v2-profile-actions { grid-template-columns: 1fr; } .iceeft-v2-profile-header > img { width: 100%; max-height: 320px; } }
