/*
 * iHandyman handyman card — the one stylesheet of the handyman_card/1 component (website, Claude, apps).
 * Every colour, font, size and the diamond thumbnail come from the live website (compact cards 0.4.19, Smart Search
 * 0.8.55, theme 0.1.36). No new colours, no focus rings beyond the site's own accent outline, light surface only.
 * TASK-122: the message button in the colour of the first free day (the profile's Live Availability colours).
 * TASK-131 (card v2): every area of the compact card at a fixed place and height, sizes in px that never shrink,
 * one line with "…" for whatever does not fit; three cards a row on computers, two on tablets, one on phones.
 */
.ihcard,
.ihcard-list {
	--ihcard-accent: #ff9500;
	--ihcard-accent-dark: #8a4b00;
	--ihcard-text: #111827;
	--ihcard-muted: #667085;
	--ihcard-border: #dde3ea;
	--ihcard-surface: #ffffff;
	--ihcard-soft: #f5f7fa;
	--ihcard-brand-yellow: #ffaa17;
	--ihcard-brand-orange: #ff6a16;
	--ihcard-brand-red: #f5224b;
	--ihcard-brand-gradient: linear-gradient(138deg, var(--ihcard-brand-yellow) 0%, var(--ihcard-brand-orange) 55%, var(--ihcard-brand-red) 100%);
	--ihcard-rating-empty: #ffd9b0;
	--ihcard-label: #344054;
	--ihcard-services: #273244;
	--ihcard-free: #22a35a;
	--ihcard-free-soft: #f1fbf5;
	--ihcard-free-border: #b9e2c8;
	--ihcard-free-text: #176b3a;
	--ihcard-busy-border: #d7dde6;
	--ihcard-busy-soft: #f7f8fa;
	--ihcard-busy-text: #5b6574;
	--ihcard-unknown-dot: #98a2b3;
	--ihcard-identity: #187a45;
	--ihcard-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ihcard-grid-max: 1280px;
	--ihcard-grid-gap: 16px;
	--ihcard-single-max: 400px;
	--ihcard-photo-fade: 180ms;
	font-family: var(--ihcard-font);
	color: var(--ihcard-text);
	box-sizing: border-box;
}

.ihcard *,
.ihcard *::before,
.ihcard *::after {
	box-sizing: border-box;
}

/* ---------- list grid (same geometry as the website's compact-card loop) ---------- */
.ihcard-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ihcard-grid-gap);
	width: 100%;
	max-width: var(--ihcard-grid-max);
	min-width: 0;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.ihc-block-card > .ihcard { height: 100%; }

.ihr-saved-handyman > .ihcard,
.hp-member-item .ihcard { width: 100%; }

.ihcard-list.ihcard-count-1 { grid-template-columns: minmax(0, var(--ihcard-single-max)); }
.ihcard-list.ihcard-count-2 { grid-template-columns: repeat(2, minmax(0, var(--ihcard-single-max))); }

@media (max-width: 1199px) and (min-width: 761px) {
	.ihcard-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Archive pages (Compact Cards' Product Collection grid): the v2 card needs ~360 px, so 3 a row, then 2, then 1. */
@media (min-width: 1200px) {
	body.ihc-compact-cards-active .wp-block-woocommerce-product-template:has(.ihcard--compact),
	body.ihc-compact-cards-active .wc-block-product-template:has(.ihcard--compact) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1199px) and (min-width: 761px) {
	body.ihc-compact-cards-active .wp-block-woocommerce-product-template:has(.ihcard--compact),
	body.ihc-compact-cards-active .wc-block-product-template:has(.ihcard--compact) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	.ihcard-list,
	.ihcard-list.ihcard-count-1,
	.ihcard-list.ihcard-count-2 {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
}

/* ---------- card ---------- */
.ihcard {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	padding: 16px;
	overflow: hidden;
	border: 1px solid var(--ihcard-border);
	border-radius: 14px;
	background: var(--ihcard-surface);
	color: var(--ihcard-text);
	text-align: left;
	line-height: 1.55;
}

.ihcard:hover,
.ihcard:focus-within {
	border-color: rgba(255, 149, 0, 0.62);
}

.ihcard a:focus-visible,
.ihcard button:focus-visible {
	outline: 2px solid var(--ihcard-accent);
	outline-offset: 2px;
}

.ihcard-hit {
	position: absolute;
	z-index: 1;
	inset: 0;
	border-radius: inherit;
}

.ihcard-main {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	min-width: 0;
	pointer-events: none;
}

/* ---------- diamond photo with a fixed slot, blurred preview and fade-in ---------- */
.ihcard-photo-frame {
	display: grid;
	flex: none;
	width: 102px;
	height: 102px;
	background: rgba(255, 149, 0, 0.52);
	clip-path: polygon(
		50% 0%, 56% 1%, 62% 5%,
		95% 38%, 99% 44%, 100% 50%, 99% 56%, 95% 62%,
		62% 95%, 56% 99%, 50% 100%, 44% 99%, 38% 95%,
		5% 62%, 1% 56%, 0% 50%, 1% 44%, 5% 38%,
		38% 5%, 44% 1%
	);
	filter: drop-shadow(0 6px 8px rgba(15, 23, 42, 0.14));
	place-items: center;
}

.ihcard-photo {
	display: block;
	width: 98px;
	height: 98px;
	padding: 2px;
	overflow: hidden;
	background: #fff;
	clip-path: inherit;
}

.ihcard-photo-slot {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-color: var(--ihcard-soft);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.ihcard-photo-img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	border: 0;
	object-fit: cover;
}

/* The fade-in exists only when the script runs (it adds ihcard-js to <html>); without scripts photos simply show. */
.ihcard-js .ihcard-photo-img {
	opacity: 0;
	transition: opacity var(--ihcard-photo-fade) ease-out;
}

.ihcard-js .ihcard-photo-img.is-loaded {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.ihcard-js .ihcard-photo-img { transition: none; }
}

.ihcard-content {
	min-width: 0;
}

.ihcard-name {
	max-width: 100%;
	margin: 0;
	padding: 0;
	overflow-wrap: anywhere;
	color: var(--ihcard-text);
	font-family: inherit;
	font-size: clamp(1.08rem, 1.8vw, 1.28rem);
	font-weight: 760;
	line-height: 1.18;
	letter-spacing: -0.015em;
}

/* ---------- standing, experience, identity ---------- */
.ihcard-trust {
	display: grid;
	gap: 3px;
	margin-top: 5px;
	color: var(--ihcard-muted);
	font-size: 0.76rem;
	font-weight: 610;
	line-height: 1.3;
}

.ihcard-standing,
.ihcard-identity {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.ihcard-identity {
	color: var(--ihcard-identity);
}

.ihcard-standing-dot {
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #8591a3;
}

.ihcard-standing-green .ihcard-standing-dot { background: #22a35a; }
.ihcard-standing-yellow .ihcard-standing-dot { background: #d79a00; }
.ihcard-standing-red .ihcard-standing-dot { background: #c43d4b; }

.ihcard-label {
	color: var(--ihcard-label);
	font-weight: 730;
}

/* ---------- rating ---------- */
.ihcard-rating {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 5px;
	min-width: 0;
	height: 20px;
	margin-top: 10px;
	color: var(--ihcard-muted);
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.2;
	pointer-events: none;
}

.ihcard-stars {
	position: relative;
	display: block;
	flex: 0 0 5.3em;
	width: 5.3em;
	height: 1em;
	overflow: hidden;
}

.ihcard-stars::before,
.ihcard-stars > span::before {
	position: absolute;
	inset: 0;
	width: 5.3em;
	height: 1em;
	background: var(--ihcard-rating-empty);
	content: "";
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 20'%3E%3Cpath d='m10 1.4 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L10 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L10 1.4Zm22 0 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L32 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L32 1.4Zm22 0 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L54 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L54 1.4Zm22 0 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L76 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L76 1.4Zm22 0 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L98 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L98 1.4Z'/%3E%3C/svg%3E") left center / 5.3em 1em no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 20'%3E%3Cpath d='m10 1.4 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L10 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L10 1.4Zm22 0 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L32 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L32 1.4Zm22 0 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L54 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L54 1.4Zm22 0 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L76 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L76 1.4Zm22 0 2.65 5.37 5.93.86-4.29 4.18 1.01 5.91L98 14.93l-5.3 2.79 1.01-5.91-4.29-4.18 5.93-.86L98 1.4Z'/%3E%3C/svg%3E") left center / 5.3em 1em no-repeat;
}

.ihcard-stars > span {
	position: absolute;
	inset: 0 auto 0 0;
	display: block;
	overflow: hidden;
}

.ihcard-stars > span::before {
	background: var(--ihcard-brand-gradient);
}

.ihcard-rating-value {
	color: var(--ihcard-label);
	font-weight: 760;
}

.ihcard-rating-count {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---------- meta lines ---------- */
.ihcard-line {
	position: relative;
	z-index: 2;
	min-width: 0;
	margin: 0;
	pointer-events: none;
}

.ihcard-payments {
	height: 1.03rem;
	margin-top: 5px;
	overflow: hidden;
	color: var(--ihcard-muted);
	font-size: 0.76rem;
	font-weight: 500;
	line-height: 1.35;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---------- day chip (full view: under the seven-day strip; compact: see card v2 below) ---------- */
.ihcard-day {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	max-width: 100%;
	height: 28px;
	min-height: 28px;
	padding: 5px 8px;
	border: 1px solid var(--ihcard-busy-border);
	border-radius: 999px;
	background: #fff;
	color: var(--ihcard-label);
	font-size: 0.69rem;
	font-weight: 730;
	line-height: 1.2;
	white-space: nowrap;
}

.ihcard-day-dot {
	flex: 0 0 7px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ihcard-unknown-dot);
}

.ihcard-day-free {
	border-color: var(--ihcard-free-border);
	background: var(--ihcard-free-soft);
	color: var(--ihcard-free-text);
}

.ihcard-day-free .ihcard-day-dot { background: var(--ihcard-free); }

.ihcard-day-busy {
	border-color: var(--ihcard-busy-border);
	background: var(--ihcard-busy-soft);
	color: var(--ihcard-busy-text);
}

.ihcard-week {
	display: inline-grid;
	grid-auto-flow: column;
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ihcard-week li {
	display: grid;
	gap: 2px;
	justify-items: center;
	width: 22px;
	margin: 0;
	padding: 0;
	color: var(--ihcard-muted);
	font-size: 0.62rem;
	font-weight: 650;
	line-height: 1;
	text-transform: uppercase;
}

.ihcard-week li.is-selected {
	color: var(--ihcard-text);
}

.ihcard-week-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ihcard-unknown-dot);
}

.ihcard-week .ihcard-week-free .ihcard-week-dot { background: var(--ihcard-free); }
.ihcard-week .ihcard-week-busy .ihcard-week-dot { background: var(--ihcard-busy-border); }
.ihcard-week li.is-selected .ihcard-week-dot { box-shadow: 0 0 0 2px rgba(255, 149, 0, 0.6); }

/* ---------- phone under the photo (compact) and plain contact links (full view) ---------- */
.ihcard .ihcard-phone {
	position: relative;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	max-width: 100%;
	min-height: 24px; /* touch target (TASK-123) */
	overflow: hidden;
	color: var(--ihcard-text);
	font-size: 0.7rem;
	text-overflow: ellipsis;
	font-variant-numeric: tabular-nums;
	font-weight: 680;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	pointer-events: auto;
}

.ihcard .ihcard-phone--empty { pointer-events: none; }

.ihcard-phone-icon {
	flex: 0 0 12px;
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1L6.6 10.8Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1L6.6 10.8Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ihcard .ihcard-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--ihcard-accent-dark);
	font-weight: 730;
	text-decoration: none;
	pointer-events: auto;
}

.ihcard .ihcard-contact-link:hover,
.ihcard .ihcard-contact-link:focus-visible,
.ihcard .ihcard-phone:hover,
.ihcard .ihcard-phone:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- work thumbnails ---------- */
.ihcard-works {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.ihcard-works li {
	margin: 0;
	padding: 0;
}

.ihcard .ihcard-work {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 10px;
	background-color: var(--ihcard-soft);
	background-position: center;
	background-size: cover;
	pointer-events: auto;
}

.ihcard-work .ihcard-photo-img {
	aspect-ratio: 1 / 1;
}

/* ---------- service chips (full view), footer: message button + profile link ---------- */
.ihcard-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ihcard-chip {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-height: 25px;
	margin: 0;
	padding: 4px 8px;
	border: 1px solid rgba(255, 149, 0, 0.3);
	border-radius: 999px;
	background: rgba(255, 149, 0, 0.07);
	color: #334155;
	font-size: 0.69rem;
	font-weight: 650;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.ihcard-footer {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
	margin-top: auto;
	padding-top: 11px;
}

/* The message button: the profile's Live Availability colours (available, morning/afternoon, not confirmed, busy). */
.ihcard .ihcard-quote {
	--ihcard-quote-bg: #287f54;
	position: relative;
	z-index: 3;
	display: inline-flex;
	flex: 0 1 auto;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 0;
	min-height: 38px;
	margin: 0;
	padding: 0 14px;
	border: 0;
	border-radius: 10px;
	background: var(--ihcard-quote-bg);
	color: #ffffff;
	font-size: 0.76rem;
	font-weight: 730;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
	pointer-events: auto;
}

.ihcard .ihcard-quote--available { --ihcard-quote-bg: #287f54; }
.ihcard .ihcard-quote--morning { --ihcard-quote-bg: #3f6f9f; }
.ihcard .ihcard-quote--unknown { --ihcard-quote-bg: #995b18; }
.ihcard .ihcard-quote--busy { --ihcard-quote-bg: #747a83; }

.ihcard .ihcard-quote:hover,
.ihcard .ihcard-quote:focus-visible {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ihcard-quote-bg) 28%, transparent);
	text-decoration: none;
}

.ihcard-quote-icon {
	flex: 0 0 15px;
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3C6.5 3 2 6.7 2 11.3c0 2.7 1.5 5 3.9 6.6L5 22l4.4-2.1c.8.2 1.7.3 2.6.3 5.5 0 10-3.7 10-8.4S17.5 3 12 3Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3C6.5 3 2 6.7 2 11.3c0 2.7 1.5 5 3.9 6.6L5 22l4.4-2.1c.8.2 1.7.3 2.6.3 5.5 0 10-3.7 10-8.4S17.5 3 12 3Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ihcard .ihcard-cta {
	position: relative;
	z-index: 3;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 5px;
	margin: 0 0 0 auto;
	padding: 2px 0;
	border: 0;
	background: transparent;
	color: var(--ihcard-accent-dark);
	font-size: 0.76rem;
	font-weight: 730;
	line-height: 1.3;
	text-align: right;
	text-decoration: none;
	white-space: nowrap;
	pointer-events: auto;
}

.ihcard .ihcard-cta:hover,
.ihcard .ihcard-cta:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- full view (profile page / Claude fullscreen) ---------- */
.ihcard--full {
	max-width: 760px;
	margin: 0 auto;
	padding: 20px;
}

.ihcard--full .ihcard-main {
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 18px;
	min-height: 160px;
	pointer-events: auto;
}

.ihcard--full .ihcard-photo-frame { width: 160px; height: 160px; }
.ihcard--full .ihcard-photo { width: 156px; height: 156px; }

.ihcard--full .ihcard-name {
	font-size: clamp(1.3rem, 2.4vw, 1.75rem);
	font-weight: 650;
	line-height: 1.15;
}

.ihcard--full .ihcard-cities {
	margin-top: 6px;
	color: var(--ihcard-muted);
	font-size: 0.875rem;
	font-weight: 500;
}

.ihcard-section {
	position: relative;
	z-index: 2;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid rgba(17, 24, 39, 0.12);
	pointer-events: auto;
}

.ihcard-section h3 {
	margin: 0 0 8px;
	color: var(--ihcard-text);
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.15;
	letter-spacing: -0.015em;
}

.ihcard-description {
	margin: 0;
	color: var(--ihcard-text);
	font-size: 0.95rem;
	line-height: 1.55;
	white-space: pre-line;
	overflow-wrap: anywhere;
}

.ihcard--full .ihcard-chips {
	flex: none;
	margin: 0;
	padding: 0;
	border: 0;
}

.ihcard-strip {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ihcard-strip li {
	margin: 0;
	padding: 0;
}

.ihcard .ihcard-strip-day {
	display: grid;
	gap: 4px;
	justify-items: center;
	min-height: 64px;
	padding: 8px 4px;
	border: 1px solid var(--ihcard-busy-border);
	border-radius: 10px;
	background: #fff;
	color: var(--ihcard-label);
	font-size: 0.69rem;
	font-weight: 730;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	pointer-events: auto;
}

.ihcard-strip-day .ihcard-day-dot { width: 8px; height: 8px; }
.ihcard .ihcard-strip-day.ihcard-day-free { border-color: var(--ihcard-free-border); background: var(--ihcard-free-soft); color: var(--ihcard-free-text); }
.ihcard .ihcard-strip-day.ihcard-day-busy { background: var(--ihcard-busy-soft); color: var(--ihcard-busy-text); }
.ihcard-strip li.is-selected .ihcard-strip-day { box-shadow: 0 0 0 2px rgba(255, 149, 0, 0.6); }

.ihcard-strip-num {
	font-size: 0.95rem;
	font-weight: 760;
	line-height: 1;
}

.ihcard-strip-status {
	font-size: 0.62rem;
	font-weight: 650;
	line-height: 1.2;
	text-transform: none;
}

.ihcard-prices {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ihcard-price {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #e4ded5;
	border-radius: 10px;
	background: #fffdfa;
}

.ihcard-price-label {
	color: var(--ihcard-muted);
	font-size: 0.76rem;
	font-weight: 610;
}

.ihcard-price-value {
	color: #995b18;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2;
}

.ihcard-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ihcard-gallery li {
	margin: 0;
	padding: 0;
}

.ihcard .ihcard-gallery .ihcard-work {
	border-radius: 14px;
}

.ihcard-gallery-caption {
	display: block;
	margin-top: 4px;
	overflow: hidden;
	color: var(--ihcard-muted);
	font-size: 0.72rem;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ihcard-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ihcard .ihcard-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 20px;
	border: 0;
	border-radius: 10px;
	background: var(--ihcard-text);
	color: #fff;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	pointer-events: auto;
}

.ihcard .ihcard-button:hover,
.ihcard .ihcard-button:focus-visible {
	background: var(--ihcard-accent);
	color: var(--ihcard-text);
}

.ihcard .ihcard-button--secondary {
	background: var(--ihcard-soft);
	color: var(--ihcard-text);
	border: 1px solid var(--ihcard-border);
}

.ihcard-note {
	margin: 8px 0 0;
	color: var(--ihcard-muted);
	font-size: 0.76rem;
	line-height: 1.4;
}

.ihcard-empty {
	margin: 0;
	color: var(--ihcard-muted);
	font-size: 0.95rem;
}

/* ---------- phones (same breakpoints as the website) ---------- */
@media (max-width: 760px) {
	.ihcard {
		padding: 14px;
		border-radius: 12px;
	}

	.ihcard-main { gap: 12px; }
	.ihcard .ihcard-quote { min-height: 44px; }

	.ihcard-photo-frame { width: 98px; height: 98px; }
	.ihcard-photo { width: 94px; height: 94px; }
	.ihcard-name { font-size: 1.08rem; }
	.ihcard-footer { padding-top: 9px; }

	.ihcard--full { padding: 16px; }
	.ihcard--full .ihcard-main { grid-template-columns: 120px minmax(0, 1fr); gap: 14px; min-height: 120px; }
	.ihcard--full .ihcard-photo-frame { width: 120px; height: 120px; }
	.ihcard--full .ihcard-photo { width: 116px; height: 116px; }
	.ihcard-strip { gap: 4px; }
	.ihcard .ihcard-strip-day { min-height: 58px; padding: 6px 2px; }
}

@media (max-width: 390px) {
	.ihcard--full .ihcard-name { font-size: 1.02rem; }
	.ihcard--full .ihcard-day { min-height: 28px; padding: 5px 8px; font-size: 0.68rem; }
}

/* ---------- compact card v2 (TASK-131) ----------
 * Fixed areas, top to bottom: ID Verified badge, header 108 px (diamond photo; name, standing and experience on one
 * axis), peach highlight 84 px, directions 30 px, search matches 22 px (results only), services + pay marks 40 px,
 * availability 66 px, work photos 80 px, city + phone 32 px, button row. Text sizes are px and never shrink.
 */
.ihcard--compact {
	--ihcard-head-left: 94px; /* clear of the diamond by ~8 px; standing keeps the same centre axis */
	--ihcard-standing-left: 114px;
	--ihcard-standing-right: 20px;
	padding: 16px;
	line-height: 1.4;
}

.ihcard--compact > :not(.ihcard-hit) {
	position: relative;
	z-index: 2;
	flex: none;
	min-width: 0;
	pointer-events: none;
}

.ihcard--compact a,
.ihcard--compact button {
	pointer-events: auto;
}

.ihcard--compact button {
	font-family: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ihcard--compact > .ihcard-verified {
	position: absolute;
	top: 8px;
	right: 14px;
	color: #287f54;
	font-size: 13px;
	font-weight: 750;
	line-height: 18px;
	white-space: nowrap;
}

/* header */
.ihcard-head {
	height: 108px;
}

.ihcard--compact .ihcard-photo-frame {
	position: absolute;
	top: 2px;
	left: 0;
	width: 96px;
	height: 96px;
}

.ihcard--compact .ihcard-photo {
	width: 92px;
	height: 92px;
}

.ihcard--compact .ihcard-name {
	position: absolute;
	top: 14px;
	right: 0;
	left: var(--ihcard-head-left);
	margin: 0;
	overflow: hidden;
	color: var(--ihcard-text);
	font-size: 20px;
	font-weight: 750;
	line-height: 26px;
	letter-spacing: -0.3px;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow-wrap: normal;
}

.ihcard--compact .ihcard-name a {
	color: inherit;
	text-decoration: none;
}

.ihcard--compact .ihcard-standing {
	position: absolute;
	top: 48px;
	right: var(--ihcard-standing-right);
	left: var(--ihcard-standing-left);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	color: var(--ihcard-muted);
	font-size: 17px;
	font-weight: 750;
	line-height: 24px;
	white-space: nowrap;
}

.ihcard--compact .ihcard-standing-dot { flex: 0 0 10px; width: 10px; height: 10px; }
.ihcard--compact .ihcard-standing-green { color: #287f54; }
.ihcard--compact .ihcard-standing-yellow { color: #995b18; }
.ihcard--compact .ihcard-standing-red { color: #c43d4b; }

.ihcard-exp {
	position: absolute;
	top: 82px;
	right: 0;
	left: var(--ihcard-head-left);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	color: var(--ihcard-text);
	font-size: 17px;
	font-weight: 750;
	line-height: 24px;
	white-space: nowrap;
}

.ihcard--compact > .ihcard-head .ihcard-exp { pointer-events: auto; } /* the exact experience shows on hover */

.ihcard-exp-icon {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	background: #536071;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.77-3.77a6%206%200%200%201-7.94%207.94l-6.91%206.91a2.12%202.12%200%200%201-3-3l6.91-6.91a6%206%200%200%201%207.94-7.94l-3.76%203.76z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.77-3.77a6%206%200%200%201-7.94%207.94l-6.91%206.91a2.12%202.12%200%200%201-3-3l6.91-6.91a6%206%200%200%201%207.94-7.94l-3.76%203.76z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ihcard-exp-text {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* peach highlight: reviews, About, Quick Prices or the newcomer line */
.ihcard-hl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	height: 84px;
	margin-top: 14px;
	padding: 10px 12px;
	overflow: hidden;
	border-radius: 10px;
	background: #fff5e6;
}

.ihcard-hl p { margin: 0; }

.ihcard-hl-label {
	flex: none;
	color: var(--ihcard-accent-dark);
	font-size: 12px;
	font-weight: 750;
	line-height: 16px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.ihcard-hl-text {
	display: -webkit-box;
	flex: none;
	max-height: 40px;
	overflow: hidden;
	color: var(--ihcard-label);
	font-size: 14px;
	line-height: 20px;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ihcard-hl-rating {
	display: flex;
	flex: none;
	align-items: center;
	gap: 6px;
	height: 22px;
	color: #536071;
	font-size: 15px;
	line-height: 22px;
	white-space: nowrap;
}

.ihcard-hl .ihcard-rating-value {
	color: var(--ihcard-text);
	font-weight: 750;
}

/* directions: whole short names only, the rest in +N */
.ihcard-dirs {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 30px;
	margin-top: 14px;
}

.ihcard-dirs-text {
	display: block;
	min-width: 0;
	overflow: hidden;
	color: var(--ihcard-text);
	font-size: 16px;
	font-weight: 750;
	line-height: 24px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ihcard--compact .ihcard-pill {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	height: 26px;
	min-width: 26px;
	margin: 0;
	padding: 0 8px;
	border: 1px solid #efdfc8;
	border-radius: 13px;
	background: #fff5e6;
	color: var(--ihcard-accent-dark);
	font-size: 12.5px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.ihcard--compact .ihcard-pill[hidden] { display: none; }

/* search results: "Matches: 2 of 3 services · …" */
.ihcard--compact .ihcard-matches {
	height: 22px;
	margin: 6px 0 0;
	overflow: hidden;
	color: var(--ihcard-label);
	font-size: 14px;
	line-height: 22px;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* services count + pay marks */
.ihcard-svcpay {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: 40px;
	margin-top: 10px;
}

.ihcard--compact .ihcard-count {
	display: inline-flex;
	flex: none;
	align-items: center;
	height: 34px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid #e2e6ec;
	border-radius: 17px;
	background: #ffffff;
	color: var(--ihcard-accent-dark);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.ihcard--compact .ihcard-count:hover,
.ihcard--compact .ihcard-pill:hover,
.ihcard--compact .ihcard-pays:hover .ihcard-pay {
	border-color: rgba(255, 149, 0, 0.62);
}

.ihcard-sep {
	flex: none;
	width: 1px;
	height: 24px;
	background: #e2e6ec;
}

.ihcard--compact .ihcard-pays {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 5px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 16px;
	background: transparent;
}

.ihcard--compact .ihcard-pays .ihcard-pill {
	height: 30px;
	min-width: 30px;
	border-radius: 15px;
}

.ihcard-pay {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid #e2e6ec;
	border-radius: 50%;
	background: var(--ihcard-soft);
	color: var(--ihcard-label);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.2px; /* brand letters (Z, V, $, AP, PP), never the brands' marks */
}

.ihcard-pay-glyph {
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.ihcard-pay--card .ihcard-pay-glyph { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2'%20y='5'%20width='20'%20height='14'%20rx='2'/%3E%3Cpath%20d='M2%2010h20'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2'%20y='5'%20width='20'%20height='14'%20rx='2'/%3E%3Cpath%20d='M2%2010h20'/%3E%3C/svg%3E"); }
.ihcard-pay--cash .ihcard-pay-glyph { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2'%20y='6'%20width='20'%20height='12'%20rx='2'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='2.5'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2'%20y='6'%20width='20'%20height='12'%20rx='2'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='2.5'/%3E%3C/svg%3E"); }
.ihcard-pay--check .ihcard-pay-glyph { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2'%20y='5'%20width='20'%20height='14'%20rx='2'/%3E%3Cpath%20d='M6%2010h6M6%2014h8M16%2014h2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2'%20y='5'%20width='20'%20height='14'%20rx='2'/%3E%3Cpath%20d='M6%2010h6M6%2014h8M16%2014h2'/%3E%3C/svg%3E"); }

/* availability: chip in the first free day's colour, the week under it */
.ihcard--compact .ihcard-avail {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	height: 66px;
	margin-top: 12px;
}

.ihcard--compact .ihcard-day {
	--ihcard-tone: #995b18;
	--ihcard-tone-soft: #fbf4eb;
	flex: none;
	gap: 7px;
	height: 32px;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid color-mix(in srgb, var(--ihcard-tone) 24%, #ffffff);
	border-radius: 16px;
	background: var(--ihcard-tone-soft);
	color: var(--ihcard-tone);
	font-size: 13.5px;
	font-weight: 750;
	line-height: 1;
}

.ihcard--compact .ihcard-day-free { --ihcard-tone: #287f54; --ihcard-tone-soft: #f0f7f3; }
.ihcard--compact .ihcard-day-free.ihcard-day-part { --ihcard-tone: #3f6f9f; --ihcard-tone-soft: #f0f5fa; }
.ihcard--compact .ihcard-day-busy { --ihcard-tone: #747a83; --ihcard-tone-soft: #f3f4f5; }
.ihcard--compact .ihcard-day .ihcard-day-dot { background: var(--ihcard-tone); }

.ihcard--compact .ihcard-week {
	display: flex;
	gap: 14px;
}

.ihcard--compact .ihcard-week li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	width: auto;
	color: #536071;
	font-size: 12px;
	font-weight: 700;
	line-height: 14px;
}

.ihcard--compact .ihcard-week-dot { width: 8px; height: 8px; background: #d0d5dd; }
.ihcard--compact .ihcard-week .ihcard-week-free .ihcard-week-dot { background: #287f54; }
.ihcard--compact .ihcard-week .ihcard-week-free.ihcard-week-part .ihcard-week-dot { background: #3f6f9f; }
.ihcard--compact .ihcard-week .ihcard-week-busy .ihcard-week-dot { background: #98a2b3; }

/* work photos: one row of four, 80 px high (an empty row keeps the height) */
.ihcard--compact .ihcard-works {
	grid-template-rows: 80px;
	height: 80px;
	margin-top: 14px;
}

.ihcard--compact .ihcard-works li,
.ihcard--compact .ihcard-works a {
	display: block;
	height: 80px;
}

.ihcard--compact .ihcard-work {
	height: 80px;
	aspect-ratio: auto;
	border-radius: 8px;
}

.ihcard--compact .ihcard-work .ihcard-photo-img {
	height: 100%;
	aspect-ratio: auto;
}

/* city (+N) and the phone number, always whole */
.ihcard-where {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	height: 32px;
	margin-top: 12px;
	margin-bottom: 10px;
}

.ihcard-city {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	margin: 0;
	color: var(--ihcard-text);
	font-size: 15px;
	font-weight: 700;
	line-height: 20px;
}

.ihcard--compact > .ihcard-where .ihcard-city { pointer-events: auto; } /* the full count shows on hover */

.ihcard-pin {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	background: #536071;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021s-7-6.2-7-11a7%207%200%200%201%2014%200c0%204.8-7%2011-7%2011z'/%3E%3Ccircle%20cx='12'%20cy='10'%20r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021s-7-6.2-7-11a7%207%200%200%201%2014%200c0%204.8-7%2011-7%2011z'/%3E%3Ccircle%20cx='12'%20cy='10'%20r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ihcard-city-name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ihcard--compact .ihcard-phone {
	flex: none;
	gap: 7px;
	max-width: none;
	min-height: 32px;
	overflow: visible;
	color: var(--ihcard-text);
	font-size: 15px;
	font-weight: 700;
}

.ihcard--compact .ihcard-phone-icon {
	flex-basis: 16px;
	width: 16px;
	height: 16px;
	background: #536071;
}

/* button row */
.ihcard--compact .ihcard-footer {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid rgba(15, 23, 42, 0.09);
}

.ihcard--compact .ihcard-quote {
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	font-size: 15px;
	font-weight: 700;
}

.ihcard--compact .ihcard-quote-icon { flex-basis: 16px; width: 16px; height: 16px; }

.ihcard--compact .ihcard-cta {
	font-size: 15px;
	font-weight: 750;
}

/* the +N lists (services, cities, directions, pay methods) open over the card */
.ihcard--compact > .ihcard-pop {
	position: absolute;
	z-index: 6;
	inset: 8px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #e2e6ec;
	border-radius: 12px;
	background: #ffffff;
	pointer-events: auto;
}

.ihcard-pop-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 4px 4px 4px 16px;
	border-bottom: 1px solid #e2e6ec;
	color: var(--ihcard-text);
	font-size: 16px;
	font-weight: 750;
}

.ihcard--compact .ihcard-pop-close {
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--ihcard-label);
	font-size: 26px;
	line-height: 1;
}

.ihcard-pop-body {
	flex: 1;
	overflow: auto;
	padding: 10px 16px 14px;
}

.ihcard-pop-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	color: var(--ihcard-label);
	font-size: 15px;
	line-height: 20px;
	list-style: none;
}

.ihcard-pop-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.ihcard-pop-note {
	margin: 0;
	color: var(--ihcard-muted);
	font-size: 15px;
}

.ihcard-pop-note a {
	color: var(--ihcard-accent-dark);
	font-weight: 730;
	text-decoration: none;
}

/* phones and narrow columns: one card a row; the same areas, slightly larger touch sizes */
@media (max-width: 760px) {
	.ihcard--compact {
		--ihcard-head-left: 92px;
		--ihcard-standing-left: 110px;
		--ihcard-standing-right: 18px;
		padding: 16px;
	}

	.ihcard--compact .ihcard-photo-frame { width: 92px; height: 92px; }
	.ihcard--compact .ihcard-photo { width: 88px; height: 88px; }
	.ihcard--compact .ihcard-name { font-size: 20px; }
	.ihcard-dirs-text { font-size: 17px; }
	.ihcard--compact .ihcard-pill { height: 28px; min-width: 28px; padding: 0 9px; border-radius: 14px; font-size: 13px; }
	.ihcard--compact .ihcard-count { height: 36px; padding: 0 13px; border-radius: 18px; font-size: 15px; }
	.ihcard-sep { height: 26px; }
	.ihcard-pay { width: 32px; height: 32px; font-size: 12.5px; }
	.ihcard-pay-glyph { width: 17px; height: 17px; }
	.ihcard--compact .ihcard-pays .ihcard-pill { height: 32px; min-width: 32px; border-radius: 16px; }
	.ihcard--compact .ihcard-day { height: 34px; min-height: 34px; border-radius: 17px; font-size: 14px; }
	.ihcard--compact .ihcard-avail { height: 69px; }
	.ihcard--compact .ihcard-week-dot { width: 9px; height: 9px; }
	.ihcard--compact .ihcard-works,
	.ihcard--compact .ihcard-works li,
	.ihcard--compact .ihcard-works a,
	.ihcard--compact .ihcard-work { height: 76px; }
	.ihcard--compact .ihcard-works { grid-template-rows: 76px; }
	.ihcard-where { gap: 10px; height: 34px; }
	.ihcard--compact .ihcard-quote { min-height: 46px; }
	.ihcard--compact .ihcard-footer { padding-top: 12px; }
}
