/* site-b29.css — the ONLY visible adjustments to Beliveau's design, approved under KARL_DECISIONS §B29 or Karl’s bounded §B33 UI requests. Loaded
   AFTER connected-entrance.css; selectors mirror his, so these win by order only. tests/parity.mjs explains each. */

/* Contrast (§B29): black-on-purple NORMAL text on the Organize and Partner-with-us panels. His #0A0A0A on #7E51FF
   is 4.26:1; pure black on the same purple is 4.51:1 (≥ 4.5). Smallest change: the text, by 10/255 — the purple,
   the large headings and everything else stay exactly his. */
#h365-connected-search .organize-opening p,
#h365-connected-search .organize-opening .e-overline,
#h365-connected-search .partner-join-opening p,
#h365-connected-search .partner-join-opening .e-overline { color: #000; }

/* C12: approved photos are not available yet, so the photo half of his two-column story / approach blocks is
   omitted (never a photo placeholder); the text then spans the block instead of sitting in the narrow column. */
#h365-connected-search .story-origin[data-photo="none"],
#h365-connected-search .training-human[data-photo="none"] { grid-template-columns: minmax(0, 1fr); }

/* B33, Karl 2026-10-09: phone navigation must not consume the page in wrapped rows.
   Desktop retains the original layout; mobile footer expands in document flow, never over content. */
#h365-connected-search .footer-menu { display: contents; }
#h365-connected-search .footer-menu > summary { display: none; }
@media (max-width: 650px) {
  #h365-connected-search .site-breadcrumbs {
    flex-wrap: nowrap; gap: 12px; padding: 4px 20px; min-width: 0;
  }
  #h365-connected-search .site-breadcrumbs a { flex: none; min-height: 44px; white-space: nowrap; }
  #h365-connected-search .site-breadcrumbs a:not(.site-back):not([data-view="start"]) { display: none; }
  #h365-connected-search .site-breadcrumbs span[aria-current="page"] {
    min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  #h365-connected-search .e-footer { grid-template-columns: minmax(0, 1fr); padding: 10px 20px; gap: 4px; }
  #h365-connected-search .e-footer .footer-place { grid-row: 2; }
  #h365-connected-search .footer-menu { display: block; grid-row: 1; min-width: 0; }
  #h365-connected-search .footer-menu > summary {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    min-height: 44px; padding: 8px 0; cursor: pointer; list-style: none;
    font: 600 16px/1.4 'Public Sans', sans-serif; color: #F0F0F0;
  }
  #h365-connected-search .footer-menu > summary::-webkit-details-marker { display: none; }
  #h365-connected-search .footer-menu > summary::after { content: '+'; color: #D0C3FF; font-size: 24px; }
  #h365-connected-search .footer-menu[open] > summary::after { content: '−'; }
  #h365-connected-search .footer-menu > summary:focus-visible { outline: 2px solid var(--e-green); outline-offset: 2px; }
  #h365-connected-search .e-footer .footer-pages {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px;
    padding: 6px 0 12px; border-top: 1px solid #293338;
  }
}

/* B33 follow-up: the primary header itself must also fit one phone row. */
#h365-connected-search .e-header > nav { display: contents; }
@media (max-width: 650px) {
  #h365-connected-search .e-header { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; padding: 10px 12px; }
  #h365-connected-search .e-header :is(button,a).site-home { min-width: 0; width: 100%; margin: 0; }
  #h365-connected-search .e-header .site-home svg { width: 100%; max-width: 132px; }
  #h365-connected-search .e-header .site-menu-toggle { min-width: 48px; min-height: 44px; text-align: center; color: #D0C3FF; cursor: pointer; }
  #h365-connected-search .e-header > nav { grid-column: 1 / -1; order: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; border-top: 1px solid #293338; padding-top: 8px; }
  #h365-connected-search .e-header > nav a { min-width: 0; min-height: 44px; }
}

/* Public ice: independent activity, rink, calendar and free-text controls. */
#h365-connected-search .public-ice-tools { grid-template-columns: repeat(3,minmax(0,1fr)); }
#h365-connected-search .public-ice-query,
#h365-connected-search .public-ice-filter-actions { grid-column: 1 / -1; }
#h365-connected-search .public-ice-tools input[type="date"] { color-scheme: dark; min-height: 46px; }
#h365-connected-search .public-ice-filter-actions { display:flex; gap:16px; align-items:center; justify-content:space-between; }
#h365-connected-search .public-ice-filter-actions p { margin:0; font-size:16px; }
#h365-connected-search .public-ice-filter-actions button { flex-shrink:0; min-height:44px; }
@media (max-width:650px) {
  #h365-connected-search .public-ice-tools { grid-template-columns:minmax(0,1fr); }
  #h365-connected-search .public-ice-filter-actions { align-items:flex-start; flex-direction:column; }
}
/* Karl-approved compact B public-ice filters. */
#h365-connected-search .ice-compact{display:block;padding:16px;border-radius:10px}
#h365-connected-search .ice-compact [hidden]{display:none!important}
#h365-connected-search .ice-compact [data-ice-clear]{display:block;background:none;border:0;padding:0;min-height:44px;color:#d0baff;font-size:14px;text-align:left}
#h365-connected-search .ice-compact button:disabled{opacity:.5;cursor:default}
#h365-connected-search .ice-control-row{display:flex;gap:10px;min-width:0;align-items:center}
#h365-connected-search .ice-control-row button{height:50px;border:1px solid #59636a;border-radius:8px;background:#080b0d;color:#eee;cursor:pointer;box-sizing:border-box}
#h365-connected-search .ice-control-row .ice-icon{flex:0 0 48px;width:48px;padding:8px;position:relative}
#h365-connected-search .ice-control-row svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#h365-connected-search .ice-control-row button[aria-pressed=true]{background:#34204e;border-color:#a97bff;color:#decfff}
#h365-connected-search .ice-icon[aria-pressed=true]:after{content:'';position:absolute;right:4px;top:4px;width:6px;height:6px;border-radius:50%;background:#07f708}
#h365-connected-search .ice-date-button{display:flex;flex:1 1 0%;align-items:center;gap:8px;min-width:0;max-width:100%;padding:8px 10px;font-size:16px;text-align:left}
#h365-connected-search .ice-date-button span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#h365-connected-search .ice-date-button svg{flex:0 0 24px;width:24px;height:24px}
#h365-connected-search .ice-search{display:block;margin-top:12px}
#h365-connected-search .ice-search input{height:48px;font-size:16px}
#h365-connected-search .ice-search .sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
#h365-connected-search .ice-summary{font-size:15px;line-height:1.7;margin:10px 0 0;overflow-wrap:anywhere}
#h365-connected-search .ice-summary button{display:inline;background:none;border:0;padding:0;color:#d0baff;text-decoration:underline;text-underline-offset:4px;font:inherit;cursor:pointer;text-align:left}
#h365-connected-search .ice-picker{background:#111619;color:#eee;border:1px solid #59636a;border-radius:18px;padding:22px;width:min(460px,calc(100% - 24px));max-height:85dvh;overflow:auto;box-sizing:border-box}
#h365-connected-search .ice-picker::backdrop{background:#000b}
#h365-connected-search .ice-picker-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
#h365-connected-search .ice-picker-head h2{font-family:var(--e-display);font-weight:400;font-size:22px;line-height:1.3;letter-spacing:normal;margin:0}
#h365-connected-search .ice-picker button{min-height:44px;background:#101619;border:1px solid #59636a;border-radius:8px;padding:10px 12px;color:inherit;font-size:16px;cursor:pointer;overflow-wrap:anywhere}
#h365-connected-search .ice-picker input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;border:1px solid #59636a;border-radius:8px;padding:12px;background:#080b0d;color:#eee;font-size:16px;color-scheme:dark;margin-bottom:12px}
#h365-connected-search [data-ice-options]{display:grid;gap:8px}
#h365-connected-search [data-ice-options] button{text-align:left}
#h365-connected-search [data-ice-options] button[aria-pressed=true]{background:#34204e;border-color:#a97bff}
#h365-connected-search .ice-picker-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
#h365-connected-search .ice-picker-actions [data-ice-done]{background:#07f708;color:#000;font-weight:700;padding-inline:24px}
#h365-connected-search .ice-picker button:disabled{opacity:.5}
@media(max-width:650px){#h365-connected-search .ice-picker{margin:auto 0 0;width:100%;max-width:100%;border-radius:18px 18px 0 0;padding:20px 16px max(20px,env(safe-area-inset-bottom))}#h365-connected-search .ice-compact{padding:12px}#h365-connected-search .ice-control-row{gap:8px}#h365-connected-search .ice-control-row .ice-icon{width:44px;flex-basis:44px;padding:6px}#h365-connected-search .ice-date-button{padding:8px;gap:5px}}

/* Native date picker: no website dialog and no intrinsic date input width in flow. */
#h365-connected-search .ice-date-button{position:relative;height:50px;overflow:hidden;border:1px solid #59636a;border-radius:8px;background:#080b0d;color:#eee;box-sizing:border-box;font-family:var(--e-body)}
#h365-connected-search .ice-date-button.is-active{background:#34204e;border-color:#a97bff;color:#decfff}
#h365-connected-search .ice-date-button #public-ice-date{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;max-width:100%;margin:0;padding:0;border:0;opacity:0;box-sizing:border-box;cursor:pointer;appearance:none;-webkit-appearance:none;font:16px var(--e-body)}
#h365-connected-search .ice-date-button:focus-within{outline:2px solid var(--e-green);outline-offset:2px}
#h365-connected-search .ice-date-button>svg{pointer-events:none}
#h365-connected-search .ice-summary [data-ice-clear-date]{margin-left:8px;font-size:14px}

/* Keep sheet controls on screen; scroll only the options body. */
#h365-connected-search .ice-picker[open]{display:flex;flex-direction:column;overflow:hidden;max-height:85dvh;max-height:min(85dvh,720px)}
#h365-connected-search .ice-picker-head,#h365-connected-search .ice-picker-actions{flex:0 0 auto}
#h365-connected-search [data-ice-picker-body]{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#h365-connected-search .ice-picker-head [data-ice-cancel]{flex:0 0 44px;min-width:44px}
#h365-connected-search .ice-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}
#h365-connected-search .ice-toolbar [data-ice-clear-date]{min-height:44px;padding:0;border:0;background:none;color:#d0baff;font-size:14px;cursor:pointer}

/* Time is independent of date; native controls cannot impose an intrinsic width. */
#h365-connected-search .ice-clock{flex-basis:44px!important;width:44px!important}
#h365-connected-search .ice-clock svg{width:24px;height:24px}
#h365-connected-search .ice-time-label{display:block;margin-bottom:16px;font:16px var(--e-body);min-width:0}
#h365-connected-search .ice-time-field{display:flex;align-items:center;position:relative;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:50px;margin-top:8px;padding:12px;border:1px solid #59636a;border-radius:8px;background:#080b0d;overflow:hidden}
#h365-connected-search .ice-time-field input{position:absolute;inset:0;width:100%;min-width:0;max-width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;box-sizing:border-box;font:16px var(--e-body);appearance:none;-webkit-appearance:none}
#h365-connected-search .ice-time-field:focus-within{outline:2px solid var(--e-green);outline-offset:2px}
#h365-connected-search .ice-time-help{font-size:14px;line-height:1.5}
#h365-connected-search [data-time-error]{font-size:14px;color:#f0baba}
#h365-connected-search .ice-picker-actions [data-ice-apply-time]{background:#07f708;color:#000;font-weight:700}
#h365-connected-search .ice-picker [hidden]{display:none!important}

/* Center glyph boxes independently of button padding and inline text baselines. */
#h365-connected-search .ice-control-row .ice-icon{display:flex;align-items:center;justify-content:center;line-height:1}
#h365-connected-search .ice-control-row .ice-icon svg{display:block;flex:none;margin:0}
#h365-connected-search .ice-toolbar[hidden],#h365-connected-search .ice-toolbar [hidden]{display:none!important}

/* One alignment rule for standalone icons, including search and sheet close. */
#h365-connected-search .site-icon-button{display:flex;align-items:center;justify-content:center;line-height:1}
#h365-connected-search .site-icon-button>svg{display:block;flex:none;margin:0}
#h365-connected-search .ice-picker .site-close-button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;text-align:center;outline:none;box-shadow:none}
#h365-connected-search .site-close-button>svg{width:24px;height:24px}
#h365-connected-search .ice-picker .site-close-button:focus-visible{outline:none;box-shadow:none;background:#34204e;border-color:#d0baff;color:#fff}

#h365-connected-search .ice-picker-head h2{flex:1;min-width:0}
#h365-connected-search .ice-picker-head [data-ice-select]{flex:none;background:#07f708;color:#000;font-weight:700;padding:8px 12px}
#h365-connected-search .ice-toolbar [data-ice-clear-date]{margin-left:auto}

/* Shared suggestion heading and explicit full-results action. */
#h365-connected-search .minimal-suggestions .suggestion-heading{font:600 13px/1.4 var(--e-body);letter-spacing:.06em;text-transform:uppercase;color:#bca5ed;padding:6px 12px 10px}
#h365-connected-search .minimal-suggestions .suggestion-all{border-top:1px solid #3a464d;border-radius:0;margin-top:6px;padding-top:14px;font-weight:600;color:#d0baff;overflow-wrap:anywhere}

#h365-connected-search .play-ice-shortcut{display:flex;justify-content:flex-start;padding:16px 0 4px}
#h365-connected-search .play-ice-shortcut a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #8a5dea;border-radius:8px;color:#d0baff;background:#191122;font-size:15px;font-weight:600}

/* Public ice has one search destination with subordinate filtered shortcuts. */
#h365-connected-search .search-ice-group{margin:24px 0;padding-bottom:24px;border-bottom:1px solid var(--e-line);min-width:0}
#h365-connected-search .search-ice-main{display:block;padding:20px;border:1px solid #7754ae;border-radius:8px;background:#15121f;overflow-wrap:anywhere}
#h365-connected-search .search-ice-label{font:500 14px/1.5 var(--e-body);color:#c8b3ef}
#h365-connected-search .search-ice-main h3{font:600 23px/1.3 var(--e-body);text-transform:none;letter-spacing:-.02em;margin:8px 0}
#h365-connected-search .search-ice-main p{font-size:16px;line-height:1.6;color:#bdc8ce;margin:0}
#h365-connected-search .search-ice-action{display:block;margin-top:16px;font-size:16px;font-weight:600;color:var(--e-green)}
#h365-connected-search .search-ice-shortcuts{margin-top:20px}
#h365-connected-search .search-ice-shortcuts h4{font:600 15px/1.5 var(--e-body);text-transform:none;letter-spacing:0;color:#bdc8ce;margin:0 0 6px}
#h365-connected-search .search-ice-links{display:flex;flex-wrap:wrap;gap:0 24px}
#h365-connected-search .search-ice-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;max-width:100%;box-sizing:border-box;font-size:16px;color:#d0baff;overflow-wrap:anywhere}
#h365-connected-search .search-ice-links a span{flex:none}
#h365-connected-search .search-ice-shortcuts summary{width:fit-content;min-height:44px;padding:12px 0;box-sizing:border-box;font-size:15px;color:#bdc8ce;cursor:pointer}
#h365-connected-search .search-ice-main:hover{border-color:#b99ae9;background:#1c1729}
@media(max-width:450px){#h365-connected-search .search-ice-main{padding:16px}#h365-connected-search .search-ice-main h3{font-size:21px}}

/* Approved green silhouette + wordmark: a quiet, accessible logo easter egg. */
#h365-connected-search [data-search-area]>.home-lockup{display:flex;align-items:center;justify-content:center;width:280px;max-width:85%;height:196px;margin:0 auto 24px;padding:0;border:0;border-radius:0;background:none;color:var(--e-green);box-shadow:none;cursor:pointer}
#h365-connected-search .home-lockup>span{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
#h365-connected-search .home-lockup>span[hidden]{display:none}
#h365-connected-search .home-lockup svg{display:block;width:100%;height:100%;max-height:100%}
#h365-connected-search .home-lockup:focus-visible{outline:2px solid #c8b3ef;outline-offset:6px;border-radius:4px}
@media(max-width:450px){#h365-connected-search [data-search-area]>.home-lockup{width:240px;height:168px;margin-bottom:20px}}

/* Karl 2026-10-11: match the app's Anton display face across devices.
   Override the archived preview's direct Impact declarations as well as its token. */
@font-face{font-family:'Anton';src:url('/assets/fonts/Anton-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
#h365-connected-search{--e-display:'Anton',sans-serif;font-synthesis-weight:none}
#h365-connected-search .connected-lanes strong,
#h365-connected-search .connected-audiences strong,
#h365-connected-search .savings-numbers strong,
#h365-connected-search .purpose-nav :is(button,a) span,
#h365-connected-search .market-mast h2,
#h365-connected-search .market-results-head h3,
#h365-connected-search .market-card strong:not(.partner-card-brand strong),
#h365-connected-search .market-member h3,
#h365-connected-search .partner-columns h3,
#h365-connected-search .partner-join-opening h2,
#h365-connected-search .partner-join-story h3,
#h365-connected-search .public-ice-page h2,#h365-connected-search .resources-page h2,
#h365-connected-search .public-ice-example h3,
#h365-connected-search .resource-grid h3,
#h365-connected-search .partner-logo-tile,
#h365-connected-search .news-masthead h2,
#h365-connected-search .news-lead h3,
#h365-connected-search .news-row h3,
#h365-connected-search .news-follow h3,
#h365-connected-search .article-content h2,
#h365-connected-search .shop-masthead h2,
#h365-connected-search .shop-hero h3,
#h365-connected-search .shop-collection-head h3,
#h365-connected-search .product-content h2{font-family:var(--e-display);font-weight:400}
