/* The framework removes wrap limits; the two profile looks must remain narrow. */
body .sb-links.sb-look-01 > .sec > .wrap.l01,
body .sb-links.sb-look-15 > .sec > .wrap.l15 { max-width: 464px !important; }

/* Uploaded icons use a mask so they keep the reference size and inherit Branding colors. */
body .sb-links .sb-link-icon.ic {
	width: 22px;
	height: 22px;
	background: currentColor;
	mask: var(--sb-link-icon) center / contain no-repeat;
}
body .sb-links :is(.l09, .l18-g) .sb-link-icon.ic { width: 28px; height: 28px; }

/* The theme's paragraph and heading rules override these reference type treatments. */
body .sb-links .l10-w { font-size: var(--st-type-h1) !important; line-height: 1.15 !important; }
body .sb-links :is(.l04-k, .l05-h) { font-family: var(--pb-body-font) !important; font-weight: var(--pb-ui-weight) !important; }
body .sb-links .l16-l { color: var(--pb-secondary) !important; }
body .sb-links h2.h { font-weight: var(--pb-heading-weight) !important; }
body .sb-links :is(h2.h3, h3.l07-n, h3.l12-t) { font-weight: var(--pb-card-weight) !important; }

/* At very narrow phone widths, long names and domains must not widen the card grids. */
@media (max-width: 359px) {
	body .sb-links .l09 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body .sb-links .l09-n { overflow-wrap: anywhere; }
	body .sb-links .l12 { grid-template-columns: minmax(0, 1fr); }
	body .sb-links .l12 a { grid-template-columns: 88px minmax(0, 1fr); }
	body .sb-links .l12-u { overflow-wrap: anywhere; }
}
/* sb_a() prints the arrow in its own span; the design has it as part of the link text (one underline, no flex gap). */
body .sb-links a:is(.tlink, .btn) > span[aria-hidden="true"] { display: contents; }
/* The theme resets link underlines; the design underlines the social icon links and the disclosure list links. */
body .sb-links ul.soc a, body .sb-links.sb-look-17 details ul a { text-decoration: underline; }
/* Small caption headings keep the muted color (the theme forces heading ink). */
body .sb-links :is(.l04-k, .l05-h) { color: var(--pb-muted) !important; }
body .sb-links .l20-v { line-height: 1.3 !important; }


/* Branding Sizes: role overrides kept outside the generated category CSS. */
body .sb-links .d { font-size: clamp(calc(var(--fs-titles) * .65), 4.0625vw, var(--fs-titles)); }
body .sb-links .btn { font-size: var(--fs-buttons); }
body .sb-links .l04-t { font-size: clamp(calc(var(--fs-medium) * .75), 2.1875vw, var(--fs-medium)) !important; }
body .sb-links .l05-h { font-size: clamp(calc(var(--fs-medium) * .75), 2.1875vw, var(--fs-medium)); }
body .sb-links .l07-n { font-size: var(--fs-titles-small); }
body .sb-links .l11-w { font-size: clamp(calc(var(--fs-titles) * .65), 4.0625vw, var(--fs-titles)); }
body .sb-links .l12-t { font-size: var(--fs-titles-small); }
body .sb-links .l13-r a { font-size: var(--fs-titles-small); }
body .sb-links .l16-l { font-size: clamp(calc(var(--fs-medium) * .75), 2.1875vw, var(--fs-medium)); }
body .sb-links .l20-v { font-size: var(--fs-copy) !important; }
body .sb-links h2.h3 { font-size: clamp(calc(var(--fs-titles) * .65), 4.0625vw, var(--fs-titles)) !important; }

/* 3.6.10: shortcut tiles without an icon show the title's first letter (LNK-18). */
body:not(.cc-look-pre-3-6-10) .sb-links .l18-m { font: var(--pb-heading-weight) 30px/1 var(--pb-heading-font); }
/* 3.6.10: looks 03, 15 (and other on-primary links looks) are designed on a primary band; the framework strips a look's
   own background, so on a light row their white text vanished (LNK-03, LNK-15). On a light row they paint a primary panel. */
body:not(.cc-look-pre-3-6-10) .sb-links:not(.sb-dark):not(.sb-edge) > .sec.on-primary { background: var(--pb-primary) !important; color: var(--color-on-main); border-radius: var(--st-photo-r); padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px) !important; }
/* 3.6.10: contact rows without an icon put the text in the icon's auto column, so the link sat right after the value
   instead of at the row's end (LNK-20). */
@media (min-width: 768px) { body:not(.cc-look-pre-3-6-10) .sb-links .l20-l li:not(:has(> .ic)) { grid-template-columns: 1fr auto; } }
/* 3.6.10: on phones the two social cards per row could not fit names at the card title size ("Instagram"), so the
   second column ran off the screen (LNK-09). */
@media (max-width: 600px) {
	body:not(.cc-look-pre-3-6-10) .sb-links .l09 > * { min-width: 0; }
	body:not(.cc-look-pre-3-6-10) .sb-links .l09-n { font-size: clamp(17px, 5vw, 22px) !important; }
	body:not(.cc-look-pre-3-6-10) .sb-links .l09 a { padding: 20px 16px; }
}
