/*
Theme Name: Eve Clinics
Author: Eve Clinics
Description: Block theme for eveclinics.co.uk, built to replace Avada with standard WordPress blocks.
Version: 0.2.0
Requires at least: 7.0
Text Domain: eve
*/
:root { --eve-ink: #1d3b3f; --eve-deep: #0b3f45; --eve-mint: #e8f4f2; --eve-soft: #f6f9f8; --eve-line: #e3ecea; --eve-muted: #5b6b69;
	--eve-radius: 14px; --eve-shadow: 0 10px 30px rgba(11, 63, 69, .10);
	/* one spacing scale for every page: sections, columns (e.g. a photo beside its text), card grids, icon tiles */
	--eve-section-y: 72px; --eve-section-y-sm: 48px; --eve-gap-columns: 56px; --eve-gap-rows: 32px; --eve-gap-cards: 24px; --eve-gap-tiles: 16px; }
@media (max-width: 781px) { :root { --eve-section-y: 48px; --eve-section-y-sm: 32px; --eve-gap-columns: 32px; --eve-gap-rows: 28px; --eve-gap-cards: 18px; --eve-gap-tiles: 12px; } }

/* pictures carry their width and height (the plugin adds them) so the page keeps their space while they load; the
   height follows the width unless a rule says otherwise (no specificity: any other rule wins) */
:where(img[width][height]) { height: auto; }

/* columns everywhere use the same gap (Avada's one-off column spacing is not kept) */
.eve-main .wp-block-columns { gap: var(--eve-gap-rows) var(--eve-gap-columns) !important; }
/* converted Avada sections: the same spacing; two plain sections in a row do not double it. Sections with a background
   (colour or picture, or the soft grey style) keep their own, as their design needs it */
.eve-main .eve-section:not(.has-background):not([style*="background"]):not(.is-style-section-soft) { padding-top: var(--eve-section-y-sm) !important; padding-bottom: var(--eve-section-y-sm) !important; }
.eve-main .eve-section:not(.has-background):not([style*="background"]):not(.is-style-section-soft) + .eve-section:not(.has-background):not([style*="background"]):not(.is-style-section-soft) { padding-top: 0 !important; }

/* Avada's "hide on small / medium / large screens" (breakpoints as in Avada: 640px and 1024px) */
@media (max-width: 640px) { .eve-hide-small { display: none !important; } }
@media (min-width: 641px) and (max-width: 1024px) { .eve-hide-medium { display: none !important; } }
@media (min-width: 1025px) { .eve-hide-large { display: none !important; } }

.eve-main { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.eve-main > * + * { margin-block-start: 0; }
body { -webkit-font-smoothing: antialiased; }

/* ---------- header ---------- */
.eve-header { position: relative; z-index: 50; }
.eve-topbar { background: var(--eve-deep); color: #cfe6e3; font-size: 12.5px; padding-top: 0; padding-bottom: 0; }
.eve-topbar-row { min-height: 36px; gap: 20px !important; }
.eve-topbar-contact { margin: 0; display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.eve-topbar a { color: #fff; text-decoration: none; }
.eve-topbar a:hover { color: #b9e4de; }
.eve-tb-where { color: #9fc9c3; }
.eve-toplinks { font-size: 12.5px !important; gap: 20px; }
.eve-toplinks .wp-block-navigation-item__content { color: #fff; padding: 8px 0; }
.eve-toplinks .wp-block-navigation__submenu-container { background: #fff !important; color: var(--eve-ink) !important; border: 1px solid var(--eve-line) !important;
	border-radius: 10px; padding: 6px 0; box-shadow: var(--eve-shadow); min-width: 210px !important; z-index: 80; }
.eve-toplinks .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--eve-ink); padding: 7px 16px; }
/* About us menu: the two clinics last, on a soft panel with a heading and a pin (site_design TOP_LINKS "eve-menu-clinic") */
.eve-toplinks .wp-block-navigation__submenu-container:has(.eve-menu-clinic) { padding-bottom: 0; overflow: hidden; min-width: 240px !important; }
.eve-toplinks .eve-menu-clinic { background: var(--eve-soft); }
.eve-toplinks .eve-menu-clinic:not(.eve-menu-clinic ~ .eve-menu-clinic) { position: relative; margin-top: 6px; padding-top: 28px; border-top: 1px solid var(--eve-line); }
.eve-toplinks .eve-menu-clinic:not(.eve-menu-clinic ~ .eve-menu-clinic)::before { content: "Our clinics"; position: absolute; top: 11px; left: 16px; font-size: 10.5px;
	font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--teal); }
.eve-toplinks .eve-menu-clinic:last-child { padding-bottom: 8px; }
.eve-toplinks .wp-block-navigation__submenu-container .eve-menu-clinic .wp-block-navigation-item__content { display: flex; gap: 9px; align-items: flex-start; font-weight: 600; }
.eve-toplinks .eve-menu-clinic .wp-block-navigation-item__content::before { content: ""; flex: none; width: 15px; height: 15px; margin-top: 2px; background: var(--wp--preset--color--teal);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%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 d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat; }
.eve-toplinks .eve-menu-clinic small { display: block; margin-top: 1px; font-size: 11.5px; font-weight: 400; color: var(--eve-muted); }
.eve-mainbar { background: #fff; position: relative; box-shadow: 0 1px 0 var(--eve-line), 0 6px 18px rgba(11, 63, 69, .05); }
.eve-mainbar-row { align-items: stretch !important; min-height: 78px; gap: 18px !important; }
.eve-mainbar-row > .eve-logo, .eve-mainbar-row > .eve-header-cta { align-self: center; margin: 0; }
.eve-mainbar-row > .eve-logo { padding: 12px 8px 12px 0; }
.eve-mainbar-row > .eve-menu { flex: 1; justify-content: center; align-self: stretch; }
.eve-logo img { height: auto; display: block; }
.eve-logo a { display: block; line-height: 0; }
.eve-header-cta .wp-block-button__link { white-space: nowrap; padding: 10px 20px; }
@media (max-width: 1099px) {
	.eve-toplinks, .eve-tb-where { display: none !important; }
	.eve-topbar-row { justify-content: center !important; }
	.eve-mainbar-row { min-height: 66px; }
	.eve-mainbar-row > .eve-menu { flex: 0 0 auto; align-self: center; order: 3; }
	.eve-mainbar-row > .eve-header-cta { margin-left: auto; }
	.eve-logo img { width: 130px !important; }
}
@media (max-width: 600px) { .eve-mainbar-row > .eve-header-cta { display: none; } .eve-topbar-contact { gap: 14px; } }

/* ---------- page heading band ---------- */
.eve-page-hero { background: linear-gradient(180deg, var(--eve-mint), #f4faf9); padding-top: 26px; padding-bottom: 40px; }
.eve-page-hero > * { margin-block-start: 0; }
.eve-page-hero .wp-block-breadcrumbs { color: #6f8582; margin-bottom: 14px; }
.eve-page-hero .wp-block-breadcrumbs a { color: #6f8582; }
/* narrower text that still lines up with the breadcrumbs (the band's content is 1240px wide) */
/* a narrower line length inside the 1240px content width: border-box, so the box itself stays 1240px wide and lines up
   with the content edge (content-box padding made it wider than the space, and it slid to the screen edge) */
.eve-page-hero h1 { margin-top: 0; margin-bottom: 0; box-sizing: border-box; padding-right: max(0px, calc(min(100%, 1240px) - 900px)); }
.eve-page-lead { font-size: 17px; color: #4f5d5b; box-sizing: border-box; padding-right: max(0px, calc(min(100%, 1240px) - 760px)); margin-top: 12px !important; }
.eve-page-hero .eve-search { box-sizing: border-box; padding-right: max(0px, calc(min(100%, 1240px) - 560px)); margin-top: 20px; }
.eve-title-bar { background: var(--eve-mint); padding: 26px 0; }

/* sections inside pages (converted Avada containers keep their own spacing) */
.eve-section { padding-top: var(--eve-section-y-sm); padding-bottom: var(--eve-section-y-sm); }
.eve-main .eve-section.alignfull { padding-left: var(--wp--style--root--padding-left, 20px) !important; padding-right: var(--wp--style--root--padding-right, 20px) !important; }   /* the page gutter, not Avada's own */
.eve-main > .eve-section:first-child { margin-top: 0; }
.is-style-section { padding-top: var(--eve-section-y) !important; padding-bottom: var(--eve-section-y) !important; }
.is-style-section-soft { padding-top: var(--eve-section-y) !important; padding-bottom: var(--eve-section-y) !important; background: var(--eve-soft); }
.is-style-section-dark { padding-top: var(--eve-section-y) !important; padding-bottom: var(--eve-section-y) !important; background: var(--eve-deep); color: #cfe6e3; }
.is-style-section-dark :is(h1, h2, h3, h4) { color: #fff; }
.is-style-section-dark a:not(.wp-block-button__link) { color: #fff; }
.is-style-card { background: #fff; border: 1px solid var(--eve-line); border-radius: var(--eve-radius); padding: 28px !important; }
.is-style-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 600; color: var(--wp--preset--color--teal); margin-bottom: 6px !important; }
.is-style-lead { font-size: 17px; color: #4f5d5b; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--wp--preset--color--teal-dark); border: 2px solid var(--wp--preset--color--teal); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--eve-mint); }
.is-style-section-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .55); }

/* listings (blog, search, concern pages) */
.eve-listing { padding-top: var(--eve-section-y-sm); padding-bottom: var(--eve-section-y); }
.eve-posts .wp-block-post-template { gap: var(--eve-gap-cards); }
.eve-posts .wp-block-post { background: #fff; border: 1px solid var(--eve-line); border-radius: var(--eve-radius); overflow: hidden; display: flex; flex-direction: column;
	transition: box-shadow .2s, transform .2s; }
.eve-posts .wp-block-post:hover { box-shadow: var(--eve-shadow); transform: translateY(-2px); }
.eve-posts .wp-block-post-featured-image { margin: 0; border-radius: 0; }
.eve-posts .wp-block-post-featured-image img { border-radius: 0; }
.eve-post-card-body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.eve-post-card-body > * { margin-block-start: 0; }
.eve-post-card-body .wp-block-post-title { font-size: 18px; margin: 4px 0 8px; }
.eve-post-card-body .wp-block-post-title a { color: var(--eve-ink); text-decoration: none; }
.eve-post-card-body .wp-block-post-excerpt { font-size: 14px; color: var(--eve-muted); margin-bottom: 10px; }
.eve-post-card-body .wp-block-post-excerpt__more-text { display: none; }
.eve-post-cat { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.eve-post-cat a { text-decoration: none; }
.eve-post-date { font-size: 12px; color: #7a8a88; margin-top: auto !important; }
.wp-block-query-pagination { margin-top: 36px; gap: 6px; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--eve-line); text-decoration: none; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--teal); color: #fff; border-color: transparent; }

/* blog posts */
.eve-post-hero { background: linear-gradient(180deg, var(--eve-mint), #fff); padding-top: 26px; padding-bottom: 30px; }
.eve-post-hero > * { max-width: 860px; margin-left: auto !important; margin-right: auto !important; margin-block-start: 0; }
.eve-post-hero .wp-block-breadcrumbs { color: #6f8582; margin-bottom: 18px; }
.eve-post-hero .wp-block-breadcrumbs a { color: #6f8582; }
.eve-post-hero h1 { font-size: 40px; margin: 6px auto 14px !important; }
.eve-post-meta { font-size: 13px; color: #6f8582; gap: 6px 18px; }
.eve-post-meta > * { margin: 0; }
.eve-post-image { max-width: 1100px; margin: 0 auto 36px !important; padding: 0 20px; }
.eve-post-content { padding-bottom: 56px; font-size: 16px; }
.eve-post-content > h2 { margin-top: 1.8em; } .eve-post-content > h3 { margin-top: 1.5em; }
.eve-more-posts { background: var(--eve-soft); padding-top: var(--eve-section-y); padding-bottom: var(--eve-section-y); }
.eve-more-posts > h2 { margin-bottom: 26px; }
.eve-post-nav { padding-top: 0; padding-bottom: var(--eve-section-y-sm); }
.eve-post-author { padding-bottom: 18px; } .eve-post-author .wp-block-post-author__byline { display: inline; margin-right: 6px; color: var(--eve-muted); }
.eve-post-author .wp-block-post-author__content { display: block; } .eve-post-author .wp-block-post-author__name { display: inline; font-weight: 600; }
.eve-post-nav-row { border-top: 1px solid var(--eve-line); padding-top: 22px; gap: 16px 40px !important; font-size: 15px; }
.eve-post-nav-row .post-navigation-link-previous, .eve-post-nav-row .post-navigation-link-next { max-width: 46%; }
.eve-post-nav-row .post-navigation-link-next { margin-left: auto; text-align: right; }
.eve-post-nav-row .post-navigation-link__label { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--eve-muted); }
.eve-post-nav-row a { color: var(--eve-ink); text-decoration: none; font-weight: 600; }
@media (max-width: 600px) { .eve-post-nav-row .post-navigation-link-previous, .eve-post-nav-row .post-navigation-link-next { max-width: 100%; text-align: left; margin-left: 0; } }

/* ---------- footer ---------- */
.eve-footer-cta { background: linear-gradient(135deg, #005560, #0f9280); color: #e3f3f1; padding-top: var(--eve-section-y-sm); padding-bottom: var(--eve-section-y-sm); }
.eve-footer-cta h2 { color: #fff; margin: 0 0 6px; font-size: 28px; }
.eve-footer-cta p { margin: 0; }
.eve-footer-cta-row { align-items: center !important; gap: 24px !important; }
.eve-footer-cta .is-style-fill .wp-block-button__link { background: #fff; color: var(--wp--preset--color--teal-dark); border-color: #fff; }
.eve-footer-cta .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .6); background: transparent; }
/* on the green band: the white button turns mint, the outline one fills white (the light hover elsewhere left white text on mint) */
.eve-footer-cta .is-style-fill .wp-block-button__link:hover { background: var(--eve-mint); border-color: var(--eve-mint); color: var(--wp--preset--color--teal-dark); }
.eve-footer-cta .is-style-outline .wp-block-button__link:hover,
.is-style-section-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--wp--preset--color--teal-dark); }
.single-treatment .eve-footer-cta, .home .eve-footer-cta { display: none; }
.eve-footer { background: var(--eve-soft); color: var(--eve-muted); font-size: 14px; padding-top: var(--eve-section-y-sm); padding-bottom: var(--eve-section-y-sm); border-top: 1px solid var(--eve-line); }
.eve-footer h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .1em; color: var(--eve-ink); margin: 6px 0 14px; }
.eve-footer a { color: var(--eve-ink); text-decoration: none; }
.eve-footer a:hover { color: var(--wp--preset--color--teal); }
.eve-footer-cols { gap: var(--eve-gap-rows) 40px !important; }
.eve-footer-links, .eve-footer .eve-area-links { list-style: none; padding: 0; margin: 0; }
.eve-footer-links li, .eve-footer .eve-area-links li { margin: 0 0 7px; }
.eve-footer-about { max-width: 300px; }
.eve-footer-social .wp-social-link { color: var(--wp--preset--color--teal) !important; }
.eve-footer-social .wp-social-link svg { width: 20px; height: 20px; }
.eve-footer-address, .eve-footer-contact { margin: 0 0 14px !important; }
.eve-footer-hours { margin: 0 !important; line-height: 1.9; }
.eve-footer-note { font-size: 12px; color: #7a8a88; }
.eve-cqc-widget { max-width: 260px; margin-top: 18px; }
.eve-cqc-widget > * { max-width: 100%; }
/* phones: a compact footer (owner, 1 Nov 2026): link lists and clinics side by side, hours in two columns, phone and
   e-mail as buttons, the logo and CQC widget centred. Nothing is hidden. */
@media (max-width: 781px) {
	.eve-footer-cols { display: grid !important; grid-template-columns: 1fr 1fr; gap: 30px 20px !important; }
	.eve-footer-cols > .wp-block-column:first-child, .eve-footer-cols > .wp-block-column:nth-child(4),
	.eve-footer-cols > .wp-block-column:nth-child(5) { grid-column: 1 / -1; }
	.eve-footer-cols > .wp-block-column:first-child { text-align: center; }
	.eve-footer-cols > .wp-block-column:first-child > * { margin-left: auto !important; margin-right: auto !important; }
	.eve-footer-social { justify-content: center; }
	.eve-cqc-widget { display: flex; justify-content: center; }
	.eve-footer-cols > .wp-block-column:nth-child(4) { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
	.eve-footer-cols > .wp-block-column:nth-child(4) > h4, .eve-footer-contact { grid-column: 1 / -1; }
	.eve-footer-contact br { display: none; }
	.eve-footer-contact a { display: inline-block; padding: 9px 16px; margin: 4px 6px 0 0; border: 1px solid var(--eve-line);
		border-radius: 999px; background: #fff; font-weight: 500; }
	.eve-footer-hours { column-count: 2; column-gap: 20px; }
	.eve-footer-bottom-row { text-align: center; justify-content: center !important; }
}
.eve-footer-bottom { background: var(--eve-deep); color: #9fc9c3; font-size: 12px; padding-top: 18px; padding-bottom: 18px; }
.eve-footer-bottom p { margin: 0; }
.eve-footer-bottom a { color: #dff0ee; text-decoration: none; }
.eve-footer-bottom-row { gap: 10px 30px !important; }

/* ---------- content styles (converted pages too) ---------- */
.eve-text-shadow { text-shadow: 1px 1px 6px #1e1e1e; }
@media (min-width: 641px) and (max-width: 1024px) {
	.wp-block-columns.eve-columns:has(> .wp-block-column:nth-child(5)) { flex-wrap: wrap !important; }
	.wp-block-columns.eve-columns:has(> .wp-block-column:nth-child(5)) > .wp-block-column { flex-basis: calc(33.333% - 1.5em) !important; flex-grow: 0; }
}
.eve-t-crumbs { padding-top: 18px !important; font-size: 12px; color: #7a8a88; }
.eve-t-crumbs a { color: #7a8a88; }
.eve-columns .wp-block-column.has-background { padding: 16px 10px; text-align: center; border-radius: 12px; }
.eve-columns .wp-block-column.has-background .wp-block-icon { margin: 0 auto 6px; width: 28px; }
.eve-columns .wp-block-column.has-background p { margin: 0; }
ul.is-style-checklist { list-style: none; padding-left: 0; }
ul.is-style-checklist li { position: relative; padding-left: 30px; margin-bottom: 6px; }
ul.is-style-checklist li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 19px; height: 19px; border-radius: 50%;
	background: var(--wp--preset--color--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.eve-faq .wp-block-accordion-item { border: 1px solid var(--eve-line); border-radius: 12px; margin-bottom: 10px; background: #fff; }
.eve-faq .wp-block-accordion-heading { font-size: 16px; color: var(--eve-ink); }
.eve-callout { background: var(--eve-soft); border-left: 4px solid var(--wp--preset--color--teal); padding: 24px; border-radius: 0 12px 12px 0; }
.eve-alert { background: var(--eve-mint); border-left: 4px solid var(--wp--preset--color--teal); padding: 14px 18px; border-radius: 0 10px 10px 0; }
/* patient reviews: a labelled card with a quote mark, wherever they appear (converted testimonials, review blocks,
   the quotes on specialists' pages) */
.eve-testimonials { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--eve-gap-cards); }
.eve-testimonials .wp-block-quote, .wp-block-quote.is-style-review, .eve-profile .eve-alert { position: relative; background: #fff; border: 1px solid var(--eve-line);
	border-left: 4px solid var(--wp--preset--color--gold); border-radius: var(--eve-radius); padding: 44px 24px 20px; margin: 0; box-shadow: 0 4px 16px rgba(11, 63, 69, .05); }
.eve-testimonials .wp-block-quote::before, .wp-block-quote.is-style-review::before, .eve-profile .eve-alert::before {
	content: "“  Patient review"; position: absolute; left: 24px; top: 14px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: #7a5600; }
.eve-testimonials .wp-block-quote p, .wp-block-quote.is-style-review p, .eve-profile .eve-alert p { font-size: 15px; font-style: italic; color: var(--eve-ink); margin: 0 0 10px; }
.eve-testimonials .wp-block-quote cite, .wp-block-quote.is-style-review cite { font-style: normal; font-weight: 600; color: var(--eve-ink); font-size: 14px; }
.eve-profile .eve-alert p:last-child { font-style: normal; }
.eve-person { text-align: center; }
.eve-person img { border-radius: 50%; max-width: 220px; margin: 0 auto; }
.eve-person-title { color: var(--wp--preset--color--grey); font-size: 13px; }
.eve-before-after figcaption { text-align: center; font-weight: 500; }
.wp-block-latest-posts.is-grid li { background: #fff; border: 1px solid var(--eve-line); border-radius: var(--eve-radius); padding: 18px; }
.wp-block-latest-posts__featured-image img { border-radius: 10px; }

/* ---------- tables in page content (core Table block and pasted tables) ---------- */
.eve-main :is(.wp-block-table, .wp-block-post-content) table:not(.price-table):not(.eve-t-prices):not(.eve-hours) { width: 100%; border-collapse: separate; border-spacing: 0;
	border: 1px solid var(--eve-line); border-radius: 12px; overflow: hidden; font-size: 14px; margin: 1.4em 0; background: #fff; }
.eve-main .wp-block-table { margin: 1.4em 0; overflow-x: auto; }
.eve-main .wp-block-table table { margin: 0 !important; }
.eve-main :is(.wp-block-table, .wp-block-post-content) table:not(.price-table):not(.eve-t-prices):not(.eve-hours) :is(th, td) { padding: 12px 16px; text-align: left;
	vertical-align: top; border: 0; border-bottom: 1px solid var(--eve-line); }
.eve-main :is(.wp-block-table, .wp-block-post-content) table:not(.price-table):not(.eve-t-prices):not(.eve-hours) thead th,
.eve-main :is(.wp-block-table, .wp-block-post-content) table:not(.price-table):not(.eve-t-prices):not(.eve-hours) tr:first-child th { background: var(--eve-deep); color: #fff; font-weight: 500; }
.eve-main :is(.wp-block-table, .wp-block-post-content) table:not(.price-table):not(.eve-t-prices):not(.eve-hours) tbody tr:nth-child(even) td { background: var(--eve-soft); }
.eve-main :is(.wp-block-table, .wp-block-post-content) table:not(.price-table):not(.eve-t-prices):not(.eve-hours) tr:last-child td { border-bottom: 0; }
.eve-main .wp-block-table figcaption { font-size: 13px; color: #7a8a88; }

/* ---------- price list (the Eve price list plugin's [price_list]) ---------- */
.eve-main .branch-chooser { display: inline-flex; gap: 0; background: #fff; border: 1px solid var(--eve-line); border-radius: 999px; padding: 4px; margin: 6px 0 28px; }
.eve-main .branch-choice { background: transparent; border: 0; color: var(--eve-ink); border-radius: 999px; padding: 9px 20px; font: inherit; font-size: 14px; font-weight: 500; }
.eve-main .branch-choice.active, .eve-main .branch-choice:focus-visible { background: var(--wp--preset--color--teal); color: #fff; font-weight: 500; }
.eve-main .branch-choice:hover:not(.active) { background: var(--eve-mint); border: 0; }
.eve-main .price-list-menu ul { gap: 8px; }
.eve-main .price-list-menu a { background: #fff; border: 1px solid var(--eve-line); color: var(--eve-ink); border-radius: 999px; padding: 8px 16px; font-size: 13px; box-shadow: none; }
.eve-main .price-list-menu a:hover, .eve-main .price-list-menu a:focus { background: var(--eve-mint); border: 1px solid var(--wp--preset--color--teal); color: var(--wp--preset--color--teal-dark); box-shadow: none; }
.eve-main .price-list-menu a.active, .eve-main .price-list-menu a.selected { background: var(--wp--preset--color--teal); border-color: var(--wp--preset--color--teal); color: #fff !important; }
.eve-main .price-category { margin-bottom: 12px; border: 1px solid var(--eve-line); border-radius: var(--eve-radius); background: #fff; overflow: hidden; }
.eve-main .price-category .category-header { background: #fff; border-radius: 0; font-size: 18px; font-weight: 600; color: var(--eve-ink); padding: 18px 22px; }
.eve-main .price-category .category-header:hover { background: var(--eve-soft); }
.eve-main .price-category .accordion-icon { width: 32px; height: 32px; border-radius: 50%; background: var(--eve-mint); display: grid; place-items: center; font-size: 20px; margin-left: 14px; }
.eve-main .price-category .category-content { border: 0; border-top: 1px solid var(--eve-line); border-radius: 0; padding: 22px; }
.eve-main .price-category .category-content h3 { font-size: 17px; margin: 18px 0 10px; }
.eve-main .price-table { border: 1px solid var(--eve-line); border-radius: 12px; box-shadow: none; font-size: 14px; }
.eve-main .price-table thead th { background: var(--eve-deep); color: #fff; font-size: 13px; font-weight: 500; border-bottom: 0; line-height: 1.4; padding: 12px 14px; }
.eve-main .price-table thead th span { color: #ffd98a !important; }
.eve-main .price-table tbody td { border-top: 1px solid var(--eve-line); padding: 12px 14px; }
.eve-main .price-table tbody td strong { color: var(--eve-ink); }
.eve-main .price-table tbody tr:nth-child(even) { background: var(--eve-soft); }
.eve-main .price-table tbody tr:hover { background: var(--eve-mint); }
.eve-main .price-table .final-price, .eve-main .price-table .regular-price { color: var(--eve-ink); font-weight: 600; }
.eve-main .price-table .save-badge { background: #fff4d9; color: #7a5600; font-size: 11px; padding: 2px 8px; border-radius: 999px; }
.eve-main .price-table .performed { color: var(--wp--preset--color--teal-dark); font-size: 12px; }
.eve-main .price-table .popular { background: var(--wp--preset--color--gold); }
.eve-main .servicepromo { background: var(--eve-mint); border-radius: 12px; padding: 12px 20px; }
/* phones: each treatment is a card; its name on top, then one line per price (what it is on the left, the price on the right) */
@media (max-width: 600px) {
	.eve-main .price-category .category-header { padding: 16px; }
	.eve-main .price-category .category-content { padding: 16px; }
	.eve-main .price-table { border: 0; border-radius: 0; background: transparent; }
	.eve-main .price-table tr, .eve-main .price-table tbody tr:nth-child(even) { box-sizing: border-box; border: 1px solid var(--eve-line); border-radius: 12px; box-shadow: none;
		background: #fff; padding: 0; margin: 0 0 12px; overflow: hidden; }
	.eve-main .price-table tbody td { display: flex; justify-content: space-between; align-items: center; gap: 12px; position: static; min-height: 0;
		padding: 10px 14px; border: 0; border-top: 1px solid var(--eve-line); text-align: right; }
	.eve-main .price-table td::before { position: static; width: auto; flex: 0 1 auto; text-align: left; font-size: 13px; font-weight: 500; color: var(--eve-muted); line-height: 1.35; }
	.eve-main .price-table tbody td:first-child { display: block; text-align: left; background: var(--eve-soft); border-top: 0; padding: 12px 14px; }
	.eve-main .price-table tbody td:first-child::before { display: none; }
	.eve-main .price-table .areas h5 { margin: 4px 0 0; font-size: 13px; font-weight: 400; }
	.eve-main .price-table .price-discount-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
}

/* ---------- specialist profiles (first section of each specialist's page) ---------- */
.eve-profile { padding-top: var(--eve-section-y-sm) !important; }
.eve-profile > .wp-block-columns > .wp-block-column:first-child { flex-basis: 34% !important; flex-grow: 0; }
.eve-profile > .wp-block-columns > .wp-block-column:first-child img { border-radius: 24px; box-shadow: var(--eve-shadow); position: sticky; top: 24px; }
.eve-profile h1, .eve-profile > .wp-block-columns h2:first-child { margin-top: 0; }
.eve-profile .eve-alert { margin: 14px 0 !important; }
.eve-profile .eve-alert p:last-child { font-weight: 600; font-size: 13px; margin-bottom: 0; }

/* ---------- contact, booking and clinic lists ---------- */
.eve-contact-lines { font-size: 18px; font-weight: 500; line-height: 1.8; }
.eve-contact-hours { line-height: 1.9; }
.eve-clinic-list .eve-clinic-info + .eve-clinic-info { margin-top: var(--eve-gap-cards); }
.eve-text-page { padding-top: var(--eve-section-y-sm); padding-bottom: var(--eve-section-y); font-size: 15px; }

/* ---------- special offers page (the Eve special offers plugin) ---------- */
.eve-main .special-offers-section { border-radius: var(--eve-radius); padding: 28px; margin-bottom: 28px; }
.eve-main .special-offers-banner img { border-radius: var(--eve-radius); width: 100%; height: auto; }
.eve-main .special-offers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--eve-gap-cards); }
.eve-main .special-offer-item { background: var(--sop-card-bg, #fff); border: 1px solid var(--sop-card-border, var(--eve-line)); border-radius: var(--eve-radius); overflow: hidden; padding: 0 0 18px; display: flex; flex-direction: column; }
.eve-main .special-offer-item > *:not(.special-offer-image) { padding-left: 20px; padding-right: 20px; }
.eve-main .special-offer-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; border-radius: 0; }
.eve-main .special-offer-name { font-size: 18px; margin: 16px 0 6px; color: var(--sop-card-text, var(--eve-ink)); }   /* (a group's own card colours win) */
.eve-main .special-offer-subtitle { color: var(--wp--preset--color--teal-dark); font-weight: 500; }
.eve-main .special-offer-expiry { display: inline-block; background: #fff4d9; color: #7a5600; font-size: 12px; font-weight: 600; border-radius: 999px; padding: 3px 10px !important; margin: 8px 20px; }
.eve-main .special-offer-terms { color: #7a8a88; margin-top: auto; padding-top: 10px; }

/* ---------- price list page: treatment areas down the left, prices on the right ---------- */
.eve-price-intro { max-width: 760px; }
@media (min-width: 1000px) {
	.eve-main .eve-price-page { display: grid !important; grid-template-columns: 250px minmax(0, 1fr); column-gap: var(--eve-gap-columns); align-items: start; }
	.eve-main .eve-price-page > * { grid-column: 2; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
	.eve-main .eve-price-page > h3:has(+ .price-list-menu) { grid-column: 1; grid-row: 1; margin-top: 0; }
	.eve-main .eve-price-page > .price-list-menu { grid-column: 1; grid-row: 2 / span 200; position: sticky; top: 24px; align-self: start; }
	.eve-main .eve-price-page .price-list-menu ul { flex-direction: column; flex-wrap: nowrap; gap: 2px; }
	.eve-main .eve-price-page .price-list-menu a { display: block; border: 0; border-radius: 8px; background: transparent; padding: 7px 12px; }
	.eve-main .eve-price-page .price-list-menu a:hover { background: var(--eve-mint); border: 0; }
	.eve-main .eve-price-page .price-list-menu a.active, .eve-main .eve-price-page .price-list-menu a.selected { background: var(--wp--preset--color--teal); }
}

/* a page's videos: an even grid of video cards */
.eve-videos { margin: 1.6em 0 !important; }
.eve-videos .eve-video { max-width: none; margin: 0; }

/* a call to action in a card (e.g. "see the price list") */
.eve-cta-card { background: var(--eve-mint) !important; border-radius: var(--eve-radius); padding: 22px 26px !important; gap: 12px 24px !important; align-items: center !important; }
.eve-cta-card h3 { margin: 0 0 2px; font-size: 19px; }
.eve-cta-card p { margin: 0; }

/* ---------- phones: one gutter for everything ----------
   Every section's content sits 20px in from the screen edge, and text inside every card sits 20px in from the card's
   edge, so the left and right edges line up down the whole page. */
@media (max-width: 600px) {
	:is(.is-style-card, .eve-adv > .wp-block-group, .wp-block-quote.is-style-review, .eve-testimonials .wp-block-quote, .eve-profile .eve-alert, .eve-cta-card,
		.eve-clinic-card > .wp-block-group, .eve-clinic-text, .eve-t-side, .eve-t-card, .eve-t-prac, .eve-t-twin, .eve-t-privacy, .eve-card-body, .eve-post-card-body,
		.eve-main .special-offer-item > :not(.special-offer-image)) { padding-left: 20px !important; padding-right: 20px !important; }
	.eve-main .special-offer-item .special-offer-expiry { margin-left: 20px; margin-right: 20px; padding-left: 10px !important; padding-right: 10px !important; }
	.eve-main .special-offers-section { padding: 0 !important; background: transparent; border: 0 !important; }   /* its plugin sets padding on the element */
	.eve-main .special-offers-section[style*="--sop-bg"] { background: var(--sop-bg); padding: 20px 12px !important; }   /* a group with its own background keeps it (its heading may be light) */
	.eve-main .wp-block-post-content > .wp-block-quote:not(.is-style-review), .eve-main .wp-block-post-content > .wp-block-group > .wp-block-quote:not(.is-style-review) { margin-left: 0; margin-right: 0; }
	.eve-t-privacy { grid-template-columns: 1fr; gap: 12px; }
	.eve-t-prac { padding-top: 24px !important; padding-bottom: 24px !important; }
	.eve-lead-form { padding: 10px; }
}
@media (max-width: 781px) {
	/* old Avada boxes with no background or border kept their own side padding: on phones it only pushes the text in */
	.eve-main .wp-block-group:not(.alignfull):not(.has-background):not([style*="background"]):not([style*="border"]):not([class*="is-style-"]):not(.eve-cta-card)[style*="padding-left"] {
		padding-left: 0 !important; padding-right: 0 !important; }
}

/* treatment booking band: details on the left, the enquiry form on the right */
.eve-book { background: var(--eve-soft); border-top: 1px solid var(--eve-line); padding-top: var(--eve-section-y) !important; padding-bottom: var(--eve-section-y) !important; }
.eve-book-info { position: sticky; top: 90px; align-self: flex-start; }
.eve-book-info h2 { margin: 0 0 12px; }
.eve-book-clinics { margin-top: 28px !important; padding-top: 22px; border-top: 1px solid var(--eve-line); display: grid; grid-template-columns: 1fr 1fr; gap: 16px; font-size: 13px; }
.eve-book-clinics p { margin: 0 !important; }
.eve-lead-form { border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid var(--eve-line); box-shadow: var(--eve-shadow); padding: 16px; }
.eve-lead-form iframe { border-radius: 10px; }
.eve-lead-form iframe { width: 100% !important; border: 0; display: block; }
@media (max-width: 781px) { .eve-book-info { position: static; } .eve-book-clinics { grid-template-columns: 1fr; } }

/* ---------- home page (sections built from core blocks, see the Home page in the editor) ---------- */
.eve-home-hero { background: radial-gradient(1200px 500px at 85% 20%, #dff1ee 0%, rgba(223, 241, 238, 0) 60%), linear-gradient(180deg, #f3faf9, #fff);
	padding-top: var(--eve-section-y-sm) !important; padding-bottom: var(--eve-section-y) !important; }
.eve-home-hero h1 { font-size: 46px; line-height: 1.15; margin: 6px 0 16px; }
.eve-home-hero .wp-block-image img { border-radius: 24px; aspect-ratio: 4 / 4.4; object-fit: cover; object-position: 50% 12%; box-shadow: var(--eve-shadow); }
.eve-trust { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 0; list-style: none; font-size: 13px; color: var(--wp--preset--color--teal-dark); margin-top: 22px; }
.eve-trust li::before { content: "✓"; color: var(--wp--preset--color--teal); font-weight: 700; margin-right: 6px; }
.eve-section-head { text-align: center; max-width: 720px; margin: 0 auto 32px !important; }
.eve-section-head h2 { margin: 0 0 8px; }
.eve-section-head p { margin: 0; color: var(--eve-muted); }
.eve-adv > .wp-block-group { background: #fff; border: 1px solid var(--eve-line); border-radius: var(--eve-radius); padding: 24px !important; }
/* an icon in a card: a circle with the icon in its middle */
.eve-adv .wp-block-icon, .is-style-card > .wp-block-icon { width: 52px; height: 52px; border-radius: 50%; background: var(--eve-mint); color: var(--wp--preset--color--teal);
	padding: 0; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.eve-adv .wp-block-icon svg, .is-style-card > .wp-block-icon svg { width: 24px; height: 24px; fill: currentColor; }
.eve-adv > .wp-block-group { text-align: center; }
.eve-adv .wp-block-icon { margin: 0 auto; }
.eve-adv h3 { font-size: 17px; margin: 14px 0 6px; }
.eve-adv p { font-size: 14px; margin: 0; }
.eve-clinic-card { background: #fff; border: 1px solid var(--eve-line); border-radius: var(--eve-radius); overflow: hidden; padding: 0 !important; }
.eve-clinic-card .wp-block-image { margin: 0; } .eve-clinic-card .wp-block-image img { border-radius: 0; aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.eve-clinic-card > .wp-block-group { padding: 22px 24px 26px; }
.eve-about-img img { border-radius: 22px; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 25%; }
/* the clinic pages: each clinic's front beside the opening text, the same shape on both (site_design CLINIC_FRONTS) */
.eve-clinic-front img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 45%; }
/* ... with a photo from inside over its corner (site_design CLINIC_INSIDE) */
.eve-clinic-media { position: relative; margin-bottom: 34px; }
.eve-clinic-media .eve-clinic-front { margin: 0 !important; }
.eve-clinic-media .eve-clinic-inset { position: absolute; left: -32px; bottom: -34px; width: 44%; margin: 0 !important; }
.eve-clinic-inset img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 5px solid #fff; border-radius: 16px;
	box-shadow: 0 10px 30px rgba(11, 63, 69, .16); }
@media (max-width: 781px) { .eve-clinic-media .eve-clinic-inset { left: 12px; bottom: -26px; width: 42%; } }
.eve-about-badge { margin-top: 18px !important; } .eve-about-badge img { border-radius: 0; box-shadow: none; }
/* About us: the BMLA badge on a white card over the photo's corner */
.eve-about-media { position: relative; }
.eve-about-media .eve-about-badge { position: absolute; left: -20px; bottom: -22px; margin: 0 !important; padding: 12px 16px; background: #fff; border-radius: 16px;
	box-shadow: 0 10px 30px rgba(11, 63, 69, .14); }
.eve-about-media .eve-about-badge img { display: block; }
@media (max-width: 781px) { .eve-about-media .eve-about-badge { left: 12px; bottom: -18px; } }
@media (max-width: 781px) { .eve-home-hero h1 { font-size: 34px; } .eve-home-hero .wp-block-image img { aspect-ratio: 4 / 3; } }
