/*
 * Gold Sessions — the one public Offer card (v0.10.0).
 * Moved out of gs-storefront.css so the Expert storefront, the public Offer
 * page, Find an Expert and the homepage all use the same card. Variants:
 *   (default)  storefront / Offer page "more from"
 *   --market   marketplace + homepage: adds the matching line, availability,
 *              the Expert behind the Offer and other matching Offers
 *   --compact  a way to work together inside an Expert result
 * The palette tokens are the storefront's, declared on the card itself so it
 * renders the same outside .gs-sf.
 */
.gs-sf-card, .gs-mk-bar, .gs-mk-browse, .gs-mk {
	--s-orange: #c4552d;
	--s-orange-text: #a9441f;
	--s-green: #1c4a3e;
	--s-ink: #201d19;
	--s-text: #3d3832;
	--s-muted: #6f675e;
	--s-cream: #fbf6ef;
	--s-paper: #fffdf9;
	--s-sand: #f4e9dc;
	--s-line: #e7dccf;
	--s-serif: "Literata", "Iowan Old Style", Georgia, serif;
	--s-sans: "Karla", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.gs-sf-card { font-family: var(--s-sans); color: var(--s-text); }
.gs-sf-card { position: relative; display: flex; flex-direction: column; padding: 26px 26px 22px; border: 1px solid var(--s-line); border-radius: 4px; background: var(--s-paper); transition: border-color .15s, box-shadow .15s; }
.gs-sf-card:hover { border-color: var(--s-ink); box-shadow: 0 10px 28px rgba(32, 29, 25, .08); }
.gs-sf-card:focus-within { border-color: var(--s-ink); }
.gs-sf-card__type { margin: 0 0 12px; color: var(--s-green); font: 700 12.5px/1.4 var(--s-sans); letter-spacing: .1em; text-transform: uppercase; }
.gs-sf-card__title { margin: 0 0 10px; font: 400 clamp(23px, 2.4vw, 27px)/1.2 var(--s-serif); letter-spacing: -.015em; }
.gs-sf-card__title a { color: var(--s-ink); text-decoration: none; }
.gs-sf-card__title a::after { content: ""; position: absolute; inset: 0; }
.gs-sf-card__title a:focus-visible { outline: none; }
.gs-sf-card:focus-within { outline: 3px solid var(--gs-focus, #1f5fbf); outline-offset: 2px; }
.gs-sf-card__promise { margin: 0 0 22px; color: var(--s-text); font-size: 16.5px; line-height: 1.55; }
.gs-sf-card__foot { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 16px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--s-line); }
.gs-sf-card__price { margin: 0; color: var(--s-ink); font: 400 26px/1.1 var(--s-serif); font-variant-numeric: tabular-nums; }
.gs-sf-card__price span { margin-left: 6px; color: var(--s-muted); font: 500 14px/1 var(--s-sans); }
.gs-sf-card__cta { color: var(--s-orange-text) !important; font: 700 15px/1.2 var(--s-sans); text-decoration: none; }
.gs-sf-card:hover .gs-sf-card__cta span { margin-left: 4px; }

/* ---- --market: the Offer card in search results and on the homepage ---- */
.gs-sf-card--market { height: 100%; box-sizing: border-box; }
.gs-sf-card__context { margin: -10px 0 18px; padding: 10px 12px; border-left: 3px solid var(--s-green); background: #f1f5f1; color: var(--s-ink); font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.gs-sf-card__context span { display: block; margin-bottom: 2px; color: var(--s-green); font: 700 11.5px/1.3 var(--s-sans); letter-spacing: .08em; text-transform: uppercase; }
.gs-sf-card__next { margin: -8px 0 16px; color: var(--s-muted); font-size: 14.5px; }
.gs-sf-card__by { position: relative; z-index: 1; margin: 0 0 4px; }
.gs-sf-card__by a { display: flex; align-items: center; gap: 12px; color: var(--s-ink) !important; text-decoration: none; }
.gs-sf-card__by a:hover strong { text-decoration: underline; }
.gs-sf-card__by img, .gs-sf-card__initial { flex: none; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #e9dccb; }
.gs-sf-card__initial { display: grid; place-items: center; color: #51453b; font: 400 20px/1 var(--s-serif); }
.gs-sf-card__by strong { display: block; font: 700 15.5px/1.3 var(--s-sans); }
.gs-sf-card__by small { display: block; color: var(--s-muted); font-size: 13.5px; line-height: 1.35; }
.gs-sf-card__also { position: relative; z-index: 1; margin: 14px 0 0; color: var(--s-muted); font-size: 14px; line-height: 1.5; }
.gs-sf-card__also a { color: var(--s-orange-text); }

/* ---- --compact: a way to work together inside an Expert result ---- */
.gs-sf-card--compact { padding: 12px 14px; margin: 0 0 8px; border-radius: 3px; }
.gs-sf-card--compact .gs-sf-card__type { margin: 0 0 4px; font-size: 11px; }
.gs-sf-card--compact .gs-sf-card__title { margin: 0 0 4px; font-size: 18px; line-height: 1.25; }
.gs-sf-card--compact .gs-sf-card__price { font-size: 17px; }
.gs-sf-card--compact .gs-sf-card__price span { font-size: 12.5px; }

/* v0.25.2 — format-specific Client cards: the format line, a detail line, when, seats, "See all" */
.gs-sf-card__type--two { margin-bottom: 2px; }
.gs-sf-card__meta { margin: 0 0 12px; color: var(--s-muted); font: 700 12px/1.45 var(--s-sans); letter-spacing: .08em; text-transform: uppercase; }
.gs-sf-card__seats { white-space: nowrap; }
.gs-sf-card__seats.is-few { color: var(--s-orange-text); }
.gs-sf-card__when { margin: -6px 0 12px; color: var(--s-ink); font: 700 15px/1.4 var(--s-sans); font-variant-numeric: tabular-nums; }
.gs-sf-card__all { position: relative; z-index: 1; margin: 12px 0 0; font-size: 14.5px; line-height: 1.45; }
.gs-sf-card__all a { display: inline-flex; align-items: center; min-height: 44px; color: var(--s-orange-text) !important; font-weight: 700; }
.gs-sf-card--compact .gs-sf-card__meta { margin: 0 0 4px; font-size: 11px; }
.gs-sf-card--compact .gs-sf-card__when { margin: 0 0 6px; font-size: 13.5px; }
