/*
Theme Name: Charming Smile Dental — Concept C (Warm Neighborhood + Meet Dr. Singal band)
Theme URI: https://charmingsmiledental.com/
Author: Charming Smile Dental
Description: Homepage redesign concept C — Concept A’s cream/teal/coral design with Concept B’s “Meet Dr. Singal” band; DM Serif Display headlines with Nunito Sans body text. The homepage text is edited under Pages → Home (block editor); phone, address, hours and footer text under Appearance → Customize → Practice details.
Version: 1.4.5
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: csd-concept-c
*/

/* ---------- Tokens ---------- */
:root {
	--csd-bg: #F9F6F1;
	--csd-ink: #14343C;
	--csd-muted: #4A6570;
	--csd-teal: #1E7F8F;
	--csd-deep: #14505B;
	--csd-pale: #E3F1F3;
	--csd-coral: #D93A1E;
	--csd-coral-dark: #BF3016;
	--csd-coral-pale: #FBE9E4;
	--csd-line: #CFE3E7;
	--csd-white: #FFFFFF;
	--csd-footer: #14343C;
	--csd-gold: #E0A32E;
	--csd-serif: 'DM Serif Display', Georgia, 'Times New Roman', serif;
	--csd-sans: 'Nunito Sans', 'Segoe UI', Arial, sans-serif;
	--csd-gutter: clamp(16px, 5.5vw, 80px);
	--csd-max: 1440px;
	--csd-shadow: 0 6px 18px rgba(20, 52, 60, 0.05);
	--csd-shadow-lg: 0 18px 40px rgba(20, 52, 60, 0.14);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--csd-bg);
	color: var(--csd-ink);
	font-family: var(--csd-sans);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--csd-teal); }
a:hover { color: var(--csd-deep); }
h1, h2, h3, h4 { text-wrap: pretty; }
.csd-nav-open { overflow: hidden; }

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px; width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
}
.skip-link:focus {
	clip: auto; clip-path: none;
	left: 8px; top: 8px; width: auto; height: auto;
	padding: 12px 16px;
	background: #fff; color: var(--csd-deep);
	font-weight: 800; z-index: 1000;
}

.csd-container { max-width: var(--csd-max); margin: 0 auto; padding-inline: var(--csd-gutter); }

/* Spacing inside components is handled with gap; strip the editor's default block margins. */
body [class*="csd-"] > * { margin-block: 0; }
body figure.wp-block-image[class*="csd-"] { margin: 0; }
body .wp-block-group__inner-container { display: contents; }

/* ---------- Top bar ---------- */
.csd-topbar { background: var(--csd-deep); color: #fff; font-size: 13px; font-weight: 700; }
.csd-topbar__inner { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 40px; padding-block: 6px; }
.csd-topbar__group { display: flex; align-items: center; gap: 20px; }
.csd-topbar__item { display: inline-flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; white-space: nowrap; }
.csd-topbar__item:hover { color: #fff; text-decoration: underline; }
.csd-topbar__item::before { content: ""; flex-shrink: 0; width: 16px; height: 16px; background: center / contain no-repeat; }
.csd-topbar__item--pin { display: none; white-space: normal; }
@media (min-width: 768px) {
	.csd-topbar { font-size: 14px; font-weight: 600; }
	.csd-topbar__inner { justify-content: space-between; min-height: 44px; }
	.csd-topbar__item--pin { display: inline-flex; }
	.csd-topbar__group { gap: 28px; }
	.csd-topbar__item::before { width: 18px; height: 18px; }
}

/* ---------- Header ---------- */
.csd-header { position: sticky; top: 0; z-index: 60; background: var(--csd-bg); }
.csd-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; padding-block: 8px; }
.csd-header__brand a { display: inline-flex; align-items: center; }
.csd-header__brand img { height: 46px; width: auto; }
.csd-brand-name { font-family: var(--csd-serif); font-size: 24px; color: var(--csd-ink); text-decoration: none; }

.csd-nav-toggle {
	width: 44px; height: 44px; padding: 0;
	border: 2px solid var(--csd-line); border-radius: 999px;
	background: #fff; color: var(--csd-ink); cursor: pointer;
	display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.csd-nav-toggle span { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; transition: transform 0.2s, opacity 0.2s; }
.csd-header.is-open .csd-nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.csd-header.is-open .csd-nav-toggle span:nth-child(2) { opacity: 0; }
.csd-header.is-open .csd-nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.csd-nav { display: none; }
.csd-header.is-open .csd-nav {
	display: flex; flex-direction: column; gap: 10px;
	position: absolute; left: 0; right: 0; top: 100%;
	padding: 8px var(--csd-gutter) 24px;
	background: #fff; box-shadow: 0 24px 40px rgba(20, 52, 60, 0.16);
}
.csd-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.csd-nav__list li { margin: 0; }
.csd-nav__list a { display: block; padding: 12px 0; font-size: 17px; font-weight: 700; color: var(--csd-ink); text-decoration: none; border-bottom: 1px solid #EEF3F4; }
.csd-nav__list a:hover, .csd-nav__list .current-menu-item > a { color: var(--csd-teal); }
.csd-nav__phone { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border: 2px solid var(--csd-line); border-radius: 999px; background: #fff; color: var(--csd-deep); font-weight: 800; text-decoration: none; }
.csd-nav__cta {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 26px;
	background: var(--csd-coral); color: #fff; border-radius: 999px;
	font-weight: 800; font-size: 16px; text-decoration: none;
	box-shadow: 0 8px 20px rgba(217, 58, 30, 0.25);
}
.csd-nav__cta:hover { background: var(--csd-coral-dark); color: #fff; }

@media (min-width: 1024px) {
	.csd-header__inner { min-height: 100px; }
	.csd-header__brand img { height: 64px; }
	.csd-nav-toggle { display: none; }
	.csd-nav, .csd-header.is-open .csd-nav {
		display: flex; flex-direction: row; align-items: center; gap: 28px;
		position: static; padding: 0; background: none; box-shadow: none;
	}
	.csd-nav__list { flex-direction: row; gap: 26px; }
	.csd-nav__list a { padding: 8px 0; font-size: 15px; border: 0; }
	.csd-nav__phone { display: none; }
}

/* ---------- Homepage: shared ---------- */
.csd-section, .csd-hero, .csd-trust {
	max-width: var(--csd-max); margin: 0 auto;
	padding: 64px var(--csd-gutter) 0;
	display: flex; flex-direction: column; gap: 24px;
}
.csd-band { max-width: none; margin-top: 64px; padding: 56px var(--csd-gutter); }
.csd-band__inner { width: 100%; max-width: calc(var(--csd-max) - 2 * var(--csd-gutter)); margin-inline: auto; }
@media (min-width: 1024px) {
	.csd-section { padding-top: 104px; gap: 40px; }
	.csd-band { margin-top: 104px; padding-block: 88px; }
}

.csd-eyebrow { font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--csd-teal); }
.csd-h2 { font-family: var(--csd-serif); font-weight: 400; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.12; color: var(--csd-ink); }
.csd-section__head { display: flex; flex-direction: column; gap: 10px; max-width: 760px; }
.csd-section__bar { display: flex; flex-direction: column; gap: 16px; }
.csd-more a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 800; font-size: 16px; color: var(--csd-teal); text-decoration: none; white-space: nowrap; }
.csd-more a:hover { color: var(--csd-deep); text-decoration: underline; }
@media (min-width: 768px) {
	.csd-eyebrow { font-size: 14px; }
	.csd-section__bar { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 40px; }
}

/* Buttons (block editor buttons) */
.wp-block-buttons[class*="csd-"] { display: flex; flex-wrap: wrap; gap: 12px; }
.csd-btn .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 56px; padding: 0 28px;
	border-radius: 999px; border: 2px solid transparent;
	font-family: var(--csd-sans); font-weight: 800; font-size: 16px; line-height: 1.2;
	text-decoration: none; transition: background 0.2s, color 0.2s, transform 0.2s;
}
.csd-btn .wp-block-button__link:hover { transform: translateY(-1px); }
.csd-btn--primary .wp-block-button__link { background: var(--csd-coral); color: #fff; box-shadow: 0 10px 24px rgba(217, 58, 30, 0.26); }
.csd-btn--primary .wp-block-button__link:hover { background: var(--csd-coral-dark); color: #fff; }
.csd-btn--ghost .wp-block-button__link { background: #fff; color: var(--csd-deep); border-color: var(--csd-line); }
.csd-btn--ghost .wp-block-button__link:hover { border-color: var(--csd-teal); color: var(--csd-deep); }
.csd-btn--light .wp-block-button__link { background: #fff; color: var(--csd-deep); }
.csd-btn--light .wp-block-button__link:hover { background: var(--csd-pale); color: var(--csd-deep); }
.csd-btn--soft .wp-block-button__link { background: var(--csd-pale); color: var(--csd-deep); }
.csd-btn--soft .wp-block-button__link:hover { background: #D2E8EC; color: var(--csd-deep); }
@media (max-width: 767px) {
	.csd-stack-buttons .wp-block-button, .csd-stack-buttons .wp-block-button__link { width: 100%; }
}

/* ---------- Hero ---------- */
.csd-hero { padding-top: 16px; display: grid; gap: 24px; }
.csd-hero__copy { display: flex; flex-direction: column; gap: 18px; }
.csd-pill {
	display: inline-flex; align-self: flex-start; align-items: center; gap: 8px;
	padding: 7px 14px; background: var(--csd-pale); color: var(--csd-deep);
	border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase;
}
.csd-pill::before { content: ""; width: 14px; height: 14px; background: center / contain no-repeat; }
.csd-hero__title { font-family: var(--csd-serif); font-weight: 400; font-size: clamp(38px, 4.4vw, 60px); line-height: 1.08; letter-spacing: -0.01em; color: var(--csd-ink); }
.csd-lede { font-size: clamp(17px, 1.35vw, 19px); color: var(--csd-muted); max-width: 560px; }
.csd-proof { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--csd-muted); }
.csd-proof strong { color: var(--csd-ink); }
.csd-proof__badge { flex-shrink: 0; width: 48px; }
.csd-proof__badge img { width: 48px; height: 46px; object-fit: contain; }

.csd-hero__media { position: relative; display: flex; flex-direction: column; gap: 16px; }
.csd-hero__photo { height: clamp(300px, 70vw, 420px); border-radius: 160px 160px 24px 24px; overflow: hidden; background: var(--csd-pale); }
.csd-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 36% 50%; }
.csd-hours-card { background: #fff; border-radius: 20px; padding: 18px 20px; box-shadow: var(--csd-shadow-lg); display: flex; flex-direction: column; gap: 10px; }
.csd-hours-card__title { display: flex; align-items: center; gap: 10px; color: var(--csd-deep); font-weight: 800; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; }
.csd-hours-card__title::before { content: ""; width: 16px; height: 16px; background: center / contain no-repeat; }
.csd-hours { display: flex; flex-direction: column; gap: 4px; }
.csd-hours__row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--csd-muted); }
.csd-hours__row strong { color: var(--csd-ink); font-weight: 700; }

@media (min-width: 1024px) {
	.csd-hero { padding-top: 40px; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px; align-items: center; }
	.csd-hero__copy { gap: 24px; padding-bottom: 24px; }
	.csd-pill { font-size: 13px; padding: 8px 16px; }
	.csd-pill::before { width: 16px; height: 16px; }
	.csd-proof { font-size: 15px; gap: 14px; }
	.csd-hero__media { display: block; height: 560px; }
	.csd-hero__photo { position: absolute; inset: 0; height: 100%; border-radius: 280px 280px 32px 32px; }
	.csd-hero__photo img { object-position: 36% 50%; }
	.csd-hours-card { position: absolute; left: -32px; bottom: 32px; width: 300px; padding: 22px 24px; gap: 12px; }
	.csd-hours-card__title { font-size: 14px; }
	.csd-hours-card__title::before { width: 18px; height: 18px; }
	.csd-hours { gap: 6px; }
	.csd-hours__row { font-size: 15px; }
}

/* ---------- Trust strip ---------- */
.csd-trust { padding-top: 28px; }
.csd-trust__grid {
	background: #fff; border-radius: 20px; padding: 20px;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px;
	box-shadow: 0 10px 30px rgba(20, 52, 60, 0.06);
}
.csd-trust__item { display: flex; flex-direction: column; gap: 8px; }
.csd-trust__item::before { content: ""; flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; background: var(--csd-pale) center / 20px no-repeat; }
.csd-trust__title { font-weight: 800; font-size: 14px; line-height: 1.3; color: var(--csd-ink); }
.csd-trust__sub { display: none; font-size: 14px; color: var(--csd-muted); }
@media (min-width: 768px) {
	.csd-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 28px; gap: 24px; border-radius: 24px; }
	.csd-trust__item { flex-direction: row; align-items: flex-start; gap: 16px; }
	.csd-trust__item::before { width: 48px; height: 48px; border-radius: 14px; background-size: 24px; }
	.csd-trust__body { display: flex; flex-direction: column; gap: 2px; }
	.csd-trust__title { font-size: 16px; }
	.csd-trust__sub { display: block; }
}
@media (min-width: 1024px) {
	.csd-trust { padding-top: 64px; }
	.csd-trust__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 30px 40px; gap: 32px; }
}

/* ---------- Services ---------- */
.csd-services__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.csd-card {
	position: relative; background: #fff; border-radius: 16px; padding: 18px;
	display: flex; flex-direction: column; gap: 12px;
	box-shadow: var(--csd-shadow); transition: transform 0.2s, box-shadow 0.2s;
}
.csd-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(20, 52, 60, 0.10); }
.csd-card::before { content: ""; width: 44px; height: 44px; border-radius: 50%; background: var(--csd-coral-pale) center / 22px no-repeat; }
.csd-card__title { font-family: var(--csd-sans); font-size: 16px; font-weight: 800; line-height: 1.3; color: var(--csd-ink); }
.csd-card__title a { color: inherit; text-decoration: none; }
.csd-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.csd-card__text { display: none; font-size: 15px; color: var(--csd-muted); }
@media (min-width: 768px) {
	.csd-services__grid { gap: 20px; }
	.csd-card { padding: 28px; gap: 14px; border-radius: 20px; }
	.csd-card::before { width: 56px; height: 56px; background-size: 26px; }
	.csd-card__title { font-size: 21px; }
	.csd-card__text { display: block; }
}
@media (min-width: 1024px) {
	.csd-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}

/* ---------- Meet the dentist (Concept B band, Concept A palette) ---------- */
.csd-doctor { background: #EEF6F7; }
.csd-doctor .csd-band__inner { display: grid; gap: 24px; }
.csd-doctor__copy { display: flex; flex-direction: column; gap: 18px; }
.csd-doctor__copy p { color: var(--csd-muted); }
.csd-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.csd-chips li { margin: 0; padding: 8px 14px; background: #fff; border: 1px solid var(--csd-line); border-radius: 10px; font-weight: 700; font-size: 14px; color: var(--csd-ink); }
.csd-doctor__media { position: relative; }
.csd-doctor__photo { height: clamp(360px, 90vw, 460px); border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 30px 60px rgba(20, 52, 60, 0.14); }
.csd-doctor__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.csd-caption { position: absolute; left: 12px; right: 12px; bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; background: #fff; border-radius: 14px; box-shadow: 0 14px 30px rgba(20, 52, 60, 0.14); }
.csd-caption__body { display: flex; flex-direction: column; line-height: 1.3; }
.csd-caption__title { font-weight: 800; font-size: 15px; color: var(--csd-ink); }
.csd-caption__sub { font-size: 13px; color: var(--csd-muted); }
.csd-caption__badge { flex-shrink: 0; width: 44px; }
.csd-caption__badge img { width: 44px; height: 42px; object-fit: contain; }
@media (min-width: 1024px) {
	.csd-doctor .csd-band__inner { grid-template-columns: minmax(0, 1fr) 460px; gap: 80px; align-items: center; }
	.csd-doctor__copy { gap: 22px; }
	.csd-doctor__photo { height: 560px; border-radius: 28px; }
	.csd-caption { left: 24px; right: 24px; bottom: 24px; padding: 16px 20px; }
	.csd-caption__title { font-size: 16px; }
	.csd-caption__sub { font-size: 14px; }
	.csd-caption__badge { width: 52px; }
	.csd-caption__badge img { width: 52px; height: 50px; }
}

/* ---------- Mission band ---------- */
.csd-mission { background: var(--csd-deep); color: #fff; }
.csd-mission .csd-band__inner { display: grid; gap: 28px; }
.csd-mission .csd-eyebrow { color: #9FD3DB; }
.csd-mission .csd-h2 { color: #fff; }
.csd-mission p { color: #D6EAEE; }
.csd-mission__copy { display: flex; flex-direction: column; gap: 18px; }
.csd-mission__card { display: flex; flex-direction: column; gap: 18px; padding: 26px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 24px; }
.csd-mission__card h3 { font-size: 22px; font-weight: 800; color: #fff; }
.csd-mission .csd-strong { color: #fff; font-weight: 700; }
@media (min-width: 1024px) {
	.csd-mission .csd-band__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; }
	.csd-mission__copy { gap: 20px; }
	.csd-mission__card { padding: 36px; gap: 20px; }
	.csd-mission__card h3 { font-size: 24px; }
}

/* ---------- What makes us different ---------- */
.csd-features { display: grid; gap: 12px; }
.csd-feature {
	background: #fff; border-radius: 16px; padding: 18px;
	display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; align-items: start;
	box-shadow: var(--csd-shadow);
}
.csd-feature::before { content: ""; grid-row: 1 / 3; width: 44px; height: 44px; border-radius: 12px; background: var(--csd-pale) center / 22px no-repeat; }
.csd-feature__title { font-size: 16px; font-weight: 800; color: var(--csd-ink); line-height: 1.3; }
.csd-feature__text { font-size: 14px; color: var(--csd-muted); }
@media (min-width: 768px) {
	.csd-features { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (min-width: 1024px) {
	.csd-features { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	.csd-feature { grid-template-columns: minmax(0, 1fr); row-gap: 12px; padding: 28px; border-radius: 20px; }
	.csd-feature::before { grid-row: auto; width: 48px; height: 48px; border-radius: 14px; background-size: 24px; }
	.csd-feature__title { font-size: 20px; }
	.csd-feature__text { font-size: 15px; }
}

/* ---------- Testimonials ---------- */
.csd-stars { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; color: var(--csd-muted); }
.csd-stars strong { color: var(--csd-gold); font-size: 22px; letter-spacing: 2px; line-height: 1; }
.csd-quotes { display: grid; gap: 12px; }
.csd-quote { background: #fff; border-radius: 16px; padding: 22px; display: flex; flex-direction: column; gap: 12px; box-shadow: var(--csd-shadow); }
.csd-quote::before { content: "\201C"; font-family: var(--csd-serif); font-size: 56px; line-height: 0.6; height: 0.5em; color: var(--csd-coral); }
.csd-quote__text { font-size: 15px; color: var(--csd-ink); }
.csd-quote__name { margin-top: auto; font-weight: 800; font-size: 14px; color: var(--csd-teal); }
@media (min-width: 768px) {
	.csd-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.csd-quote { padding: 32px; gap: 16px; border-radius: 20px; }
	.csd-quote__text { font-size: 16px; }
	.csd-quote__name { font-size: 15px; }
}

/* ---------- Videos ---------- */
.csd-videos { display: grid; gap: 14px; }
.csd-video { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; align-items: center; background: #fff; border-radius: 16px; padding: 12px; }
.csd-video__thumb { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 3 / 2; background: var(--csd-deep); }
.csd-video__thumb a { display: block; height: 100%; }
.csd-video__thumb img { width: 100%; height: 100%; object-fit: cover; }
.csd-video__thumb::after {
	content: ""; position: absolute; left: 50%; top: 50%;
	width: 36px; height: 36px; margin: -18px 0 0 -18px; border-radius: 50%;
	background: #fff center / 16px no-repeat; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25); pointer-events: none;
}
.csd-video__title { font-size: 15px; font-weight: 800; line-height: 1.35; color: var(--csd-ink); }
.csd-video__title a { color: inherit; text-decoration: none; }
.csd-video__title a:hover { color: var(--csd-teal); }
@media (min-width: 768px) {
	.csd-videos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	.csd-video { display: flex; flex-direction: column; align-items: stretch; background: none; padding: 0; gap: 14px; }
	.csd-video__thumb { border-radius: 20px; aspect-ratio: 16 / 10; }
	.csd-video__thumb::after { width: 64px; height: 64px; margin: -32px 0 0 -32px; background-size: 28px; }
	.csd-video__title { font-size: 18px; }
}

/* ---------- Visit ---------- */
.csd-visit { display: grid; gap: 14px; }
.csd-visit__card { background: #fff; border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 10px 30px rgba(20, 52, 60, 0.06); }
.csd-visit__card .csd-h2 { font-size: clamp(26px, 2.8vw, 38px); }
.csd-contact { display: flex; flex-direction: column; gap: 12px; font-size: 15px; color: var(--csd-ink); }
.csd-contact__row { display: flex; align-items: flex-start; gap: 12px; }
.csd-contact__row::before { content: ""; flex-shrink: 0; width: 22px; height: 22px; margin-top: 2px; background: center / contain no-repeat; }
.csd-contact__row a { font-weight: 800; color: var(--csd-ink); text-decoration: none; }
.csd-contact__row a:hover { color: var(--csd-teal); }
.csd-map { border-radius: 20px; overflow: hidden; background: var(--csd-pale); min-height: 220px; }
.csd-map iframe { display: block; width: 100%; height: 100%; min-height: 220px; border: 0; }
@media (min-width: 768px) {
	.csd-visit__card { padding: 40px; gap: 22px; border-radius: 24px; }
	.csd-contact { font-size: 16px; gap: 14px; }
	.csd-map { min-height: 320px; border-radius: 24px; }
}
@media (min-width: 1024px) {
	.csd-visit { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 32px; align-items: stretch; }
	.csd-map { min-height: 100%; }
}

/* ---------- Footer ---------- */
.csd-footer { background: var(--csd-footer); color: #fff; margin-top: 64px; padding: 44px 0 28px; }
.csd-footer a:hover { color: #fff; text-decoration: underline; }
.csd-footer__grid { display: grid; gap: 32px; }
.csd-footer__brand { display: flex; flex-direction: column; gap: 16px; }
.csd-footer__logo { align-self: flex-start; background: #fff; border-radius: 14px; padding: 10px 14px; }
.csd-footer__logo img { height: 40px; width: auto; }
.csd-footer__name { font-family: var(--csd-serif); font-size: 22px; color: var(--csd-ink); text-decoration: none; }
.csd-footer__blurb { margin: 0; font-size: 14px; color: #C7DCE1; max-width: 340px; }
.csd-footer__phone { color: #fff; font-weight: 800; font-size: 20px; text-decoration: none; }
.csd-footer__title { margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #9FD3DB; }
.csd-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.csd-footer__links li { margin: 0; }
.csd-footer__links a { display: inline-block; padding: 8px 12px; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 999px; color: #E6F0F2; font-size: 13px; text-decoration: none; }
.csd-footer__bottom { margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.14); display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #9FB8BF; }
@media (min-width: 768px) {
	.csd-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
	.csd-footer__bottom { flex-direction: row; justify-content: space-between; font-size: 14px; }
}
@media (min-width: 1024px) {
	.csd-footer { margin-top: 104px; padding: 64px 0 40px; }
	.csd-footer__grid { grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 48px; }
	.csd-footer__logo img { height: 48px; }
	.csd-footer__blurb { font-size: 15px; }
	.csd-footer__title { font-size: 14px; }
	.csd-footer__links { display: grid; gap: 8px; }
	.csd-footer__links--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
	.csd-footer__links a { padding: 0; border: 0; border-radius: 0; font-size: 14px; }
	.csd-footer__bottom { margin-top: 48px; padding-top: 24px; }
}

/* ---------- Generic pages ---------- */
.csd-page { padding-block: 48px; display: flex; flex-direction: column; gap: 32px; }
.csd-article { display: flex; flex-direction: column; gap: 20px; }
.csd-article__title { font-family: var(--csd-serif); font-weight: 400; font-size: clamp(32px, 4vw, 48px); line-height: 1.1; color: var(--csd-ink); }
.csd-article__title a { color: inherit; text-decoration: none; }
.csd-article__body { max-width: 760px; display: flex; flex-direction: column; gap: 18px; }
.csd-article__body p { color: var(--csd-muted); }

/* ---------- Icons (generated) ---------- */
/* ---------- Card tilt (Concept C) ---------- */
.csd-card, .csd-feature, .csd-quote, .csd-video, .csd-hours-card, .csd-mission__card, .csd-visit__card,
.csd-side__card, .csd-svc, .csd-faq, .csd-step, .csd-contact-card, .csd-award {
	transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(var(--lift, 0px));
	transform-style: preserve-3d;
	transition: transform 0.18s ease-out, box-shadow 0.25s ease-out;
	will-change: transform;
}
@media (hover: hover) {
	/* Without JavaScript the hover still tilts the card by a fixed 6°. */
	.csd-card:hover, .csd-feature:hover, .csd-quote:hover, .csd-video:hover, .csd-hours-card:hover, .csd-mission__card:hover,
	.csd-visit__card:hover, .csd-side__card:hover, .csd-svc:hover, .csd-faq:hover, .csd-step:hover, .csd-contact-card:hover, .csd-award:hover {
		--tilt-x: 4deg; --tilt-y: -6deg; --lift: -4px;
		box-shadow: 0 24px 48px rgba(20, 52, 60, 0.16);
		z-index: 2;
	}
	.csd-card:hover { transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(var(--lift, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
	.csd-card, .csd-feature, .csd-quote, .csd-video, .csd-hours-card, .csd-mission__card, .csd-visit__card,
	.csd-side__card, .csd-svc, .csd-faq, .csd-step, .csd-contact-card, .csd-award { transition: none; transform: none; }
}

/* ---------- Link buttons rendered by templates ---------- */
.csd-btn-link {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 26px; border-radius: 999px; border: 2px solid transparent;
	font-weight: 800; font-size: 16px; line-height: 1.2; text-decoration: none; transition: background 0.2s, color 0.2s, transform 0.2s;
}
.csd-btn-link:hover { transform: translateY(-1px); }
.csd-btn-link--primary { background: var(--csd-coral); color: #fff; box-shadow: 0 10px 24px rgba(217, 58, 30, 0.26); }
.csd-btn-link--primary:hover { background: var(--csd-coral-dark); color: #fff; }
.csd-btn-link--ghost { background: #fff; color: var(--csd-deep); border-color: var(--csd-line); }
.csd-btn-link--ghost:hover { border-color: var(--csd-teal); color: var(--csd-deep); }
.csd-btn-link--light { background: #fff; color: var(--csd-deep); }
.csd-btn-link--light:hover { background: var(--csd-pale); color: var(--csd-deep); }
.csd-btn-link--outline { background: rgba(255, 255, 255, 0.1); color: #fff; border-color: rgba(255, 255, 255, 0.35); }
.csd-btn-link--outline:hover { background: rgba(255, 255, 255, 0.18); color: #fff; }

/* ---------- Interior pages ---------- */
.csd-page { display: block; padding: 0; gap: 0; }
.csd-pagehero { background: #EEF6F7; padding: 28px var(--csd-gutter) 36px; }
.csd-pagehero__inner { max-width: calc(var(--csd-max) - 2 * var(--csd-gutter)); margin-inline: auto; display: flex; flex-direction: column; gap: 12px; }
.csd-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--csd-muted); }
.csd-crumbs a { color: var(--csd-teal); font-weight: 700; text-decoration: none; }
.csd-crumbs a:hover { text-decoration: underline; }
.csd-crumbs__sep { color: #9FB8BF; }
.csd-pagehero__title { font-family: var(--csd-serif); font-weight: 400; font-size: clamp(32px, 4vw, 52px); line-height: 1.08; color: var(--csd-ink); max-width: 900px; }
@media (min-width: 1024px) { .csd-pagehero { padding: 48px var(--csd-gutter) 56px; } .csd-pagehero__inner { gap: 14px; } }

.csd-page__grid { display: grid; gap: 32px; padding-top: 36px; }
@media (min-width: 1024px) { .csd-page__grid { grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: start; padding-top: 56px; } .csd-page__grid--full { grid-template-columns: minmax(0, 1fr); } }

/* Content typography */
.csd-prose { max-width: 780px; font-size: 17px; line-height: 1.7; color: var(--csd-muted); }
.csd-page__grid--full .csd-prose { max-width: none; }
.csd-page :is(.csd-prose, .csd-svc__body, .csd-faq__body, .csd-step, .csd-contact-card, .csd-contact-form, .csd-prose figure, .csd-prose blockquote) > * + * { margin-block-start: 1em; }
.csd-prose h2 { font-family: var(--csd-serif); font-weight: 400; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.15; color: var(--csd-ink); margin-block-start: 1.8em !important; }
.csd-prose h3 { font-size: 21px; font-weight: 800; color: var(--csd-ink); margin-block-start: 1.5em !important; }
.csd-prose h4 { font-size: 18px; font-weight: 800; color: var(--csd-ink); }
.csd-prose h2:first-child, .csd-prose h3:first-child { margin-block-start: 0 !important; }
.csd-prose p strong { color: var(--csd-ink); }
.csd-prose a { color: var(--csd-teal); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.csd-prose a:hover { color: var(--csd-deep); }
/* Button links inside page content keep their button colours (the prose link rule above is more specific). */
.csd-prose .csd-btn-link, .csd-prose .csd-btn-link:hover { text-decoration: none; }
.csd-prose .csd-btn-link--primary, .csd-prose .csd-btn-link--primary:hover, .csd-prose .csd-btn-link--outline, .csd-prose .csd-btn-link--outline:hover { color: #fff; }
.csd-prose .csd-btn-link--ghost, .csd-prose .csd-btn-link--ghost:hover, .csd-prose .csd-btn-link--light, .csd-prose .csd-btn-link--light:hover { color: var(--csd-deep); }
.csd-prose .csd-lede { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.55; color: var(--csd-ink); }
.csd-prose ul, .csd-prose ol { padding-left: 1.4em; }
.csd-prose li { margin-block: 0.4em; padding-left: 0.2em; }
.csd-prose li::marker { color: var(--csd-coral); font-weight: 800; }
.csd-prose hr { border: 0; border-top: 1px solid var(--csd-line); }
.csd-prose blockquote { padding: 18px 24px; background: #fff; border-radius: 16px; border-left: 4px solid var(--csd-coral); color: var(--csd-ink); }
.csd-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.csd-prose th, .csd-prose td { padding: 10px 12px; border-bottom: 1px solid var(--csd-line); text-align: left; }
.csd-prose th { color: var(--csd-ink); }
.csd-figure { margin: 0; }
.csd-figure img { width: 100%; height: auto; border-radius: 20px; box-shadow: var(--csd-shadow); }
.csd-figure--portrait { max-width: 360px; }
.csd-figure--portrait img { border-radius: 180px 180px 24px 24px; }
.csd-award { display: flex; align-items: center; gap: 16px; padding: 16px 20px; background: #fff; border-radius: 16px; box-shadow: var(--csd-shadow); }
.csd-award img { width: 56px; height: 53px; object-fit: contain; flex-shrink: 0; }
.csd-award p { margin: 0; font-size: 15px; }
.csd-award strong { color: var(--csd-ink); }

/* Sidebar */
.csd-side { display: flex; flex-direction: column; gap: 20px; }
@media (min-width: 1024px) { .csd-side { position: sticky; top: 116px; } }
.csd-side__card { background: #fff; border-radius: 20px; padding: 24px; box-shadow: var(--csd-shadow); display: flex; flex-direction: column; gap: 14px; }
.csd-side__card--book { background: var(--csd-deep); color: #fff; }
.csd-side__card--book p { color: #D6EAEE; font-size: 15px; }
.csd-side__title { font-size: 20px; font-weight: 800; color: var(--csd-ink); }
.csd-side__card--book .csd-side__title { color: #fff; }
.csd-hours-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.csd-hours-list li { display: flex; justify-content: space-between; gap: 12px; }
.csd-hours-list strong { font-weight: 700; }
.csd-side__card--book .csd-hours-list { color: #D6EAEE; }
.csd-side__card--book .csd-hours-list strong { color: #fff; }
.csd-side__actions { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.csd-side__actions .csd-btn-link { width: 100%; }
.csd-side__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.csd-side__list li { margin: 0; }
.csd-side__list a { display: block; padding: 9px 0; border-bottom: 1px solid #EEF3F4; color: var(--csd-ink); font-weight: 700; font-size: 15px; text-decoration: none; }
.csd-side__list li:last-child a { border-bottom: 0; }
.csd-side__list a:hover, .csd-side__list a.is-current { color: var(--csd-teal); }

/* CTA band */
.csd-cta { background: var(--csd-deep); color: #fff; }
.csd-cta__inner { display: grid; gap: 24px; }
.csd-cta .csd-eyebrow { color: #9FD3DB; }
.csd-cta .csd-h2 { color: #fff; font-size: clamp(26px, 2.8vw, 36px); }
.csd-cta__copy { display: flex; flex-direction: column; gap: 12px; }
.csd-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
@media (min-width: 1024px) { .csd-cta__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 48px; } }

/* Services page */
.csd-svc-list { display: flex; flex-direction: column; gap: 20px; }
.csd-svc { display: grid; gap: 18px; padding: 20px; background: #fff; border-radius: 20px; box-shadow: var(--csd-shadow); scroll-margin-top: 120px; }
.csd-svc__media { margin: 0; }
.csd-svc__media img { width: 100%; height: 200px; object-fit: cover; border-radius: 14px; }
.csd-svc__body h2 { font-family: var(--csd-serif); font-weight: 400; font-size: 28px; line-height: 1.15; color: var(--csd-ink); margin-block-start: 0 !important; }
.csd-svc__body h3 { font-size: 19px; font-weight: 800; color: var(--csd-ink); }
.csd-svc__body p, .csd-svc__body li { font-size: 16px; }
@media (min-width: 768px) { .csd-svc { grid-template-columns: 240px minmax(0, 1fr); gap: 28px; padding: 28px; } .csd-svc__media img { height: 100%; min-height: 220px; max-height: 320px; } }

/* FAQ */
.csd-faq-list { display: flex; flex-direction: column; gap: 12px; }
.csd-faq { background: #fff; border-radius: 16px; box-shadow: var(--csd-shadow); overflow: hidden; }
.csd-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; font-weight: 800; font-size: 17px; color: var(--csd-ink); }
.csd-faq summary::-webkit-details-marker { display: none; }
.csd-faq summary::after { content: ""; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--csd-coral-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D93A1E' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 14px no-repeat; transition: transform 0.2s; }
.csd-faq[open] summary::after { transform: rotate(45deg); }
.csd-faq__body { padding: 0 22px 22px; font-size: 16px; }

/* Forms page */
.csd-steps-grid { display: grid; gap: 16px; }
.csd-step { position: relative; background: #fff; border-radius: 20px; padding: 28px 24px 24px; box-shadow: var(--csd-shadow); }
.csd-step__num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--csd-coral); color: #fff; font-weight: 800; }
.csd-step h2 { font-family: var(--csd-serif); font-weight: 400; font-size: 24px; color: var(--csd-ink); margin-block-start: 0.6em !important; }
.csd-downloads { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.csd-downloads li { margin: 0; padding: 0; }
.csd-download { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1.5px solid var(--csd-line); border-radius: 12px; color: var(--csd-deep) !important; font-weight: 800; font-size: 15px; line-height: 1.3; text-decoration: none !important; }
.csd-download::before { content: ""; flex-shrink: 0; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7F8F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 19h14'/%3E%3C/svg%3E") center / contain no-repeat; }
.csd-download:hover { border-color: var(--csd-teal); }
@media (min-width: 900px) { .csd-steps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }

/* Contact page */
.csd-contact-grid { display: grid; gap: 16px; }
.csd-contact-card { background: #fff; border-radius: 20px; padding: 26px; box-shadow: var(--csd-shadow); }
.csd-contact-card::before { content: ""; display: block; width: 48px; height: 48px; border-radius: 14px; background: var(--csd-pale) center / 24px no-repeat; margin-bottom: 4px; }
.csd-contact-card--pin::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7F8F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.5-7-12a7 7 0 0114 0c0 5.5-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.csd-contact-card--phone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7F8F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z'/%3E%3C/svg%3E"); }
.csd-contact-card--clock::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7F8F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.csd-contact-card h2 { font-size: 22px; font-weight: 800; color: var(--csd-ink); margin-block-start: 0 !important; }
.csd-contact-card p, .csd-contact-card li { font-size: 16px; }
.csd-contact-card a { font-weight: 800; }
.csd-contact-card .csd-hours-list { font-size: 16px; color: var(--csd-muted); }
.csd-contact-card .csd-hours-list strong { color: var(--csd-ink); }
.csd-contact-split { display: grid; gap: 20px; margin-block-start: 28px; }
.csd-contact-form { background: #fff; border-radius: 20px; padding: 28px; box-shadow: var(--csd-shadow); }
.csd-contact-form h2 { font-family: var(--csd-serif); font-weight: 400; font-size: 30px; color: var(--csd-ink); margin-block-start: 0 !important; }
.csd-map--tall { min-height: 360px; }
.csd-map--tall iframe { min-height: 360px; }
@media (min-width: 768px) { .csd-contact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
@media (min-width: 1024px) { .csd-contact-split { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; } }

/* Contact Form 7 fields */
.wpcf7 form { display: flex; flex-direction: column; gap: 14px; }
.csd-form-grid { display: grid; gap: 14px; }
@media (min-width: 640px) { .csd-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.wpcf7 label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 800; color: var(--csd-ink); }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 input:not([type="submit"]):not([type="file"]), .wpcf7 textarea { width: 100%; padding: 13px 16px; border: 1.5px solid var(--csd-line); border-radius: 12px; font: inherit; font-size: 16px; color: var(--csd-ink); background: #fff; }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 2px solid var(--csd-teal); outline-offset: 1px; border-color: var(--csd-teal); }
.wpcf7 textarea { min-height: 150px; resize: vertical; }
.wpcf7 input[type="file"] { font-size: 14px; }
.wpcf7 input[type="submit"] { align-self: flex-start; min-height: 52px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--csd-coral); color: #fff; font: inherit; font-weight: 800; font-size: 16px; cursor: pointer; box-shadow: 0 10px 24px rgba(217, 58, 30, 0.26); }
.wpcf7 input[type="submit"]:hover { background: var(--csd-coral-dark); }
.wpcf7 .wpcf7-not-valid-tip { font-size: 13px; color: var(--csd-coral); font-weight: 600; }
.wpcf7 .wpcf7-response-output { margin: 0; padding: 12px 16px; border: 1.5px solid var(--csd-line) !important; border-radius: 12px; font-size: 15px; }
.wpcf7 .wpcf7-spinner { margin: 0 12px; }

/* Booking page */
.csd-booking-cta { display: flex; flex-wrap: wrap; gap: 12px; padding: 24px; background: #fff; border-radius: 20px; box-shadow: var(--csd-shadow); }

/* Generic page fallback (search, 404, posts) */
.csd-article__body { color: var(--csd-muted); }

/* ---------- Edits v1.0 ---------- */
/* 2. Larger navigation text (kept on one line at laptop widths) */
@media (min-width: 1024px) {
	.csd-header__brand img { height: 56px; }
	.csd-nav, .csd-header.is-open .csd-nav { gap: 20px; }
	.csd-nav__list { gap: 18px; }
	.csd-nav__list a { font-size: 15px; }
}
@media (min-width: 1280px) {
	.csd-header__brand img { height: 64px; }
	.csd-nav, .csd-header.is-open .csd-nav { gap: 28px; }
	.csd-nav__list { gap: 24px; }
	.csd-nav__list a { font-size: 17px; }
	.csd-nav__cta { font-size: 17px; min-height: 54px; padding: 0 28px; }
}
/* 2. Links and buttons lift on hover (paragraph links keep the underline treatment) */
.csd-nav__list a, .csd-crumbs a, .csd-footer__links a { display: inline-block; }
.csd-nav__list a, .csd-nav__cta, .csd-nav__phone, .csd-crumbs a, .csd-footer__links a, .csd-footer__phone,
.csd-side__list a, .csd-more a, .csd-download, .csd-btn-link, .csd-btn .wp-block-button__link, .wpcf7 input[type="submit"], .csd-topbar__item--phone {
	transition: transform 0.15s ease-out, box-shadow 0.2s ease-out, color 0.15s, background 0.15s, border-color 0.15s;
}
@media (hover: hover) {
	.csd-nav__list a:hover, .csd-crumbs a:hover, .csd-footer__links a:hover, .csd-side__list a:hover, .csd-more a:hover,
	.csd-download:hover, .csd-footer__phone:hover, .csd-nav__phone:hover, .csd-topbar__item--phone:hover { transform: translateY(-2px); }
	.csd-nav__cta:hover, .csd-btn-link:hover, .csd-btn .wp-block-button__link:hover, .wpcf7 input[type="submit"]:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(20, 52, 60, 0.18); }
	.csd-nav__cta:hover, .csd-btn--primary .wp-block-button__link:hover, .csd-btn-link--primary:hover, .wpcf7 input[type="submit"]:hover { box-shadow: 0 14px 30px rgba(217, 58, 30, 0.32); }
}
/* 3/4. Opencare badge wherever the award is mentioned (trust strip) */
.csd-trust__grid .csd-trust__item--award::before { width: 48px; height: 46px; border-radius: 0; background: url("assets/img/winner.png") center / contain no-repeat; }
@media (min-width: 768px) { .csd-trust__grid .csd-trust__item--award::before { width: 54px; height: 52px; } }
/* 1. Hours from one source: hero card, inner pages, footer */
.csd-hours-card .csd-hours-list { gap: 4px; font-size: 14px; color: var(--csd-muted); }
.csd-hours-card .csd-hours-list strong { color: var(--csd-ink); font-weight: 700; }
@media (min-width: 1024px) { .csd-hours-card .csd-hours-list { gap: 6px; font-size: 15px; } }
.csd-prose .csd-hours-list { list-style: none; max-width: 400px; margin: 0 0 1.4em; padding: 16px 20px; background: #fff; border-radius: 14px; box-shadow: var(--csd-shadow); gap: 8px; font-size: 16px; }
.csd-prose .csd-hours-list li { margin: 0; padding: 0; }
.csd-prose .csd-hours-list strong { color: var(--csd-ink); }
.csd-footer__hours { max-width: 320px; font-size: 14px; color: #C7DCE1; }
.csd-footer__hours strong { color: #fff; }
.csd-footer__brand .csd-footer__title { margin: 8px 0 0; }
/* Booking page: calendar front and centre (no sidebar), notes underneath in smaller type */
.csd-page--booking .csd-prose { max-width: 960px; margin: 0 auto; }
.csd-page--booking .csd-prose .csd-lede { font-size: clamp(17px, 1.4vw, 19px); font-weight: 700; color: var(--csd-teal); }
.csd-booking-notes { padding: 18px 22px; border-radius: 14px; background: var(--csd-pale); color: var(--csd-muted); font-size: 14.5px; line-height: 1.6; }
.csd-booking-notes p { margin: 0; }
.csd-booking-notes p + p { margin-top: 10px; }
.csd-booking-notes strong { color: var(--csd-ink); }
/* Easy Appointments (classic form, same fonts and placement as the original site) — colours only. */
.csd-booking { display: flow-root; margin: 8px 0 20px; padding: 20px 12px; background: #fff; border-radius: 18px; box-shadow: var(--csd-shadow); }
/* The classic form floats its two columns (Bootstrap grid); keep them inside the card. */
.csd-booking .ea-bootstrap form::after { content: ""; display: table; clear: both; }
@media (min-width: 768px) { .csd-booking { padding: 28px 24px; } }
.csd-booking .ea-bootstrap { max-width: none !important; }
/* One location, one service, one provider: preselected in the shortcode, dropdowns stay hidden. */
.csd-booking .ea-bootstrap .step:has(select[name="location"]), .csd-booking .ea-bootstrap .step:has(select[name="service"]), .csd-booking .ea-bootstrap .step:has(select[name="worker"]) { display: none !important; }
/* Calendar: teal frame, teal selected day, deep-teal available days (was Bootstrap blue). */
.csd-booking .ea-bootstrap .ui-datepicker { border-color: var(--csd-teal); box-shadow: 0 0 8px rgba(30, 127, 143, 0.35); }
.csd-booking .ea-bootstrap .ui-datepicker td a { color: var(--csd-deep); }
.csd-booking .ea-bootstrap .ui-datepicker a:hover, .csd-booking .ea-bootstrap .ui-datepicker td:hover a { color: var(--csd-teal); }
.csd-booking .ea-bootstrap .ui-datepicker .ui-datepicker-current-day { background-color: var(--csd-teal); }
.csd-booking .ea-bootstrap .ui-datepicker .ui-datepicker-current-day a, .csd-booking .ea-bootstrap .ui-datepicker .ui-datepicker-current-day:hover a { color: #fff; }
.csd-booking .ea-bootstrap .ui-datepicker .ui-datepicker-header a { color: var(--csd-deep); }
/* Time slots: teal when chosen. */
.csd-booking .ea-bootstrap .time-value.selected-time, .csd-booking .ea-bootstrap .time-value.selected-time:hover { background-color: var(--csd-teal); color: #fff; }
/* Fields: teal focus glow; Submit in coral, Cancel unchanged. */
.csd-booking .ea-bootstrap .form-control:focus { border-color: var(--csd-teal); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(30, 127, 143, 0.5); }
.csd-booking .ea-bootstrap .btn-primary, .csd-booking .ea-bootstrap .btn-primary.disabled, .csd-booking .ea-bootstrap .btn-primary[disabled] { color: #fff; background-color: var(--csd-coral); border-color: var(--csd-coral); }
.csd-booking .ea-bootstrap .btn-primary:hover, .csd-booking .ea-bootstrap .btn-primary:focus, .csd-booking .ea-bootstrap .btn-primary:active { color: #fff; background-color: var(--csd-coral-dark); border-color: var(--csd-coral-dark); }
.csd-prose .csd-booking a { text-decoration: none; }

/* 5. Gentler tilt on the large inner-page cards (CSS fallback; tilt.js uses the same 2°) */
@media (hover: hover) {
	.csd-svc:hover, .csd-faq:hover, .csd-step:hover, .csd-contact-card:hover, .csd-side__card:hover, .csd-award:hover { --tilt-x: 1.5deg; --tilt-y: -2deg; --lift: -3px; }
}

/* 6. Patient guides (/blog/) and restored articles (1.3.3) */
.csd-prose .csd-dateline { font-size: 14.5px; color: var(--csd-muted); margin-top: -0.4em; }
.csd-prose .csd-guide-list { list-style: none; padding: 0; margin: 14px 0 30px; display: grid; gap: 12px; }
.csd-prose .csd-guide-list li { margin: 0; padding: 16px 20px; background: #fff; border-radius: 16px; box-shadow: var(--csd-shadow); }
.csd-prose .csd-guide-list li::marker { content: none; }
.csd-prose .csd-guide-list a { font-size: 18px; text-decoration: none; }
.csd-prose .csd-guide-list a:hover { text-decoration: underline; }
.csd-prose .csd-guide-list span { display: block; margin-top: 4px; font-size: 15.5px; line-height: 1.55; color: var(--csd-muted); }

/* 7. Section-2 fixes (1.4.0) */
/* Self-hosted fonts (were a render-blocking Google Fonts request). SIL Open Font License: assets/fonts/OFL-*.txt */
@font-face { font-family: 'DM Serif Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/dm-serif-display-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'DM Serif Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/dm-serif-display-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 400 800; font-stretch: 100%; font-display: swap; src: url('assets/fonts/nunito-sans-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 400 800; font-stretch: 100%; font-display: swap; src: url('assets/fonts/nunito-sans-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Teal text passes WCAG AA contrast (4.5:1) on cream, pale teal and white: #1E7F8F was 4.3:1. */
:root { --csd-teal: #1B7684; }

/* Homepage: links to the treatments the card grid does not show */
.csd-more-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 26px; font-size: 15px; }
.csd-more-links span { font-weight: 800; color: var(--csd-ink); margin-right: 2px; }
.csd-more-links a { display: inline-block; padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--csd-line); color: var(--csd-deep); font-weight: 700; text-decoration: none; transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; }
.csd-more-links a:hover, .csd-more-links a:focus-visible { border-color: var(--csd-teal); transform: translateY(-2px); box-shadow: var(--csd-shadow); }

/* Booking page: reserve the calendar's height so the notes below do not jump when it loads (measured: 1108 / 979 / 592 px) */
.csd-booking { min-height: 1108px; }
@media (min-width: 768px) { .csd-booking { min-height: 979px; } }
@media (min-width: 992px) { .csd-booking { min-height: 592px; } }

/* "Reviewed by" line on treatment pages (shown once a review date is set in the Customizer) */
.csd-reviewed { font-size: 15px; color: var(--csd-muted); }
.csd-reviewed a { color: var(--csd-teal); font-weight: 700; text-decoration: none; }
.csd-reviewed a:hover { text-decoration: underline; }

/* 1.4.5: form honeypot (never visible; bots fill it in) and the footer's privacy links */
.csd-hp { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.csd-footer__legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

.csd-topbar__item--pin::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23FFFFFF%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2021s-7-6.5-7-12a7%207%200%200114%200c0%205.5-7%2012-7%2012z%22/%3E%3Ccircle%20cx=%2212%22%20cy=%229%22%20r=%222.5%22/%3E%3C/svg%3E"); }
.csd-topbar__item--clock::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23FFFFFF%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M12%207v5l3%202%22/%3E%3C/svg%3E"); }
.csd-topbar__item--phone::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23FFFFFF%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M5%204h4l2%205-2.5%201.5a11%2011%200%20005%205L15%2013l5%202v4a2%202%200%2001-2%202A16%2016%200%20013%206a2%202%200%20012-2z%22/%3E%3C/svg%3E"); }
.csd-pill::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%2314505B%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%203l1.8%205.2L19%2010l-5.2%201.8L12%2017l-1.8-5.2L5%2010l5.2-1.8z%22/%3E%3C/svg%3E"); }
.csd-hours-card__title::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%2314505B%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M12%207v5l3%202%22/%3E%3C/svg%3E"); }
.csd-trust__item--award::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%203l2.8%205.7%206.2.9-4.5%204.4%201.1%206.2L12%2017.3%206.4%2020.2l1.1-6.2L3%209.6l6.2-.9z%22/%3E%3C/svg%3E"); }
.csd-trust__item--path::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%225%22%20y=%223%22%20width=%2214%22%20height=%2214%22%20rx=%223%22/%3E%3Cpath%20d=%22M5%2011h14M9%2021l1.5-3M15%2021l-1.5-3M9%2014h.01M15%2014h.01%22/%3E%3C/svg%3E"); }
.csd-trust__item--insurance::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%203l8%203v6c0%205-3.5%208-8%209-4.5-1-8-4-8-9V6z%22/%3E%3Cpath%20d=%22M9%2012l2%202%204-4%22/%3E%3C/svg%3E"); }
.csd-trust__item--saturday::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E"); }
.csd-contact__row--pin::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2021s-7-6.5-7-12a7%207%200%200114%200c0%205.5-7%2012-7%2012z%22/%3E%3Ccircle%20cx=%2212%22%20cy=%229%22%20r=%222.5%22/%3E%3C/svg%3E"); }
.csd-contact__row--phone::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M5%204h4l2%205-2.5%201.5a11%2011%200%20005%205L15%2013l5%202v4a2%202%200%2001-2%202A16%2016%200%20013%206a2%202%200%20012-2z%22/%3E%3C/svg%3E"); }
.csd-contact__row--clock::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M12%207v5l3%202%22/%3E%3C/svg%3E"); }
.csd-video__thumb::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22%23D93A1E%22%3E%3Cpath%20d=%22M9%207l8%205-8%205z%22/%3E%3C/svg%3E"); }
.csd-card--whitening::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%203l1.8%205.2L19%2010l-5.2%201.8L12%2017l-1.8-5.2L5%2010l5.2-1.8z%22/%3E%3Cpath%20d=%22M19%2016l.8%202.2L22%2019l-2.2.8L19%2022l-.8-2.2L16%2019l2.2-.8z%22/%3E%3C/svg%3E"); }
.csd-card--checkup::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M8%203v4M16%203v4M9%2015l2%202%204-4%22/%3E%3C/svg%3E"); }
.csd-card--gum::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2020s-7-4.5-7-10a4%204%200%20017-2.5A4%204%200%200119%2010c0%205.5-7%2010-7%2010z%22/%3E%3C/svg%3E"); }
.csd-card--crown::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%2018h16M5%2018L3%208l5%204%204-6%204%206%205-4-2%2010%22/%3E%3C/svg%3E"); }
.csd-card--braces::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%2012c2-3%204-4%208-4s6%201%208%204%22/%3E%3Cpath%20d=%22M6%2010.5v3M10%208.5v3M14%208.5v3M18%2010.5v3%22/%3E%3C/svg%3E"); }
.csd-card--aligner::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%2010c0-2%203-4%208-4s8%202%208%204-3%206-8%206-8-4-8-6z%22/%3E%3C/svg%3E"); }
.csd-card--smile::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M8%2014s1.5%202%204%202%204-2%204-2M9%209h.01M15%209h.01%22/%3E%3C/svg%3E"); }
.csd-card--tooth::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M7.5%203.5C5%203.5%203.5%205.5%203.5%208c0%202.5%201.2%203.7%201.6%206%20.4%202.4.9%206.5%202.6%206.5%201.6%200%201.6-4.3%204.3-4.3s2.7%204.3%204.3%204.3c1.7%200%202.2-4.1%202.6-6.5.4-2.3%201.6-3.5%201.6-6%200-2.5-1.5-4.5-4-4.5-1.9%200-2.7%201-4.5%201s-2.6-1-4.5-1z%22/%3E%3C/svg%3E"); }
.csd-card--emergency::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23D93A1E%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M12%208v8M8%2012h8%22/%3E%3C/svg%3E"); }
.csd-feature--hours::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M12%207v5l3%202%22/%3E%3C/svg%3E"); }
.csd-feature--xray::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%224%22%20width=%2218%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M12%208v8M8%2010v4M16%2010v4%22/%3E%3C/svg%3E"); }
.csd-feature--leaf::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M5%2019c0-8%205-13%2014-14-1%209-6%2014-14%2014z%22/%3E%3Cpath%20d=%22M5%2019l7-7%22/%3E%3C/svg%3E"); }
.csd-feature--shield::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%203l8%203v6c0%205-3.5%208-8%209-4.5-1-8-4-8-9V6z%22/%3E%3Cpath%20d=%22M9%2012l2%202%204-4%22/%3E%3C/svg%3E"); }
.csd-feature--card::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%226%22%20width=%2218%22%20height=%2213%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%2010h18M16%2014h2%22/%3E%3C/svg%3E"); }
.csd-feature--tag::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231E7F8F%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M20%2012l-8%208-9-9V4h7z%22/%3E%3Ccircle%20cx=%227.5%22%20cy=%227.5%22%20r=%221.5%22/%3E%3C/svg%3E"); }

