/**
 * Single service page — two-column layout (main content + "More Services"
 * sidebar), matching the old site. The service content was authored as
 * full-width banded sections; inside the narrower main column we neutralise
 * those bands so the content flows normally beside the sidebar.
 */

/* Featured image at the top of the main column. */
.amc-service-main > .wp-block-post-featured-image { display: block; margin: 0 0 clamp(1.2rem, 2.5vw, 2rem); }
.amc-service-main > .wp-block-post-featured-image img { width: 100%; height: auto; border-radius: 20px; aspect-ratio: 16 / 10; object-fit: cover; }

/* De-band the authored top-level content sections (remove background, side
   padding, and full-bleed breakout; tighten vertical rhythm). Nested card
   groups keep their own styling. */
.amc-service-main .wp-block-post-content > .wp-block-group {
	background: transparent !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	/* Headings belong to what follows: more air above a section than below
	   its heading (was 16px above vs 28px below, binding h2s upward). */
	padding-top: var(--wp--preset--spacing--60, 2.25rem) !important;
	padding-bottom: var(--wp--preset--spacing--40, 1.25rem) !important;
}
.amc-service-main .wp-block-post-content > .wp-block-group.alignfull { margin-left: 0; margin-right: 0; max-width: 100%; }
.amc-service-main .wp-block-post-content > .wp-block-group:first-child { padding-top: 0 !important; }
.amc-service-main .wp-block-post-content h2 { margin-top: 0; }

/* Sidebar — deliberately NOT sticky: the owner wants the More Services card
   anchored where it starts, not following the reader down the page. */
.amc-svc-side { display: flex; flex-direction: column; gap: 1.25rem; }
.amc-svc-side__card {
	background: var(--wp--preset--color--surface, #FDFBF7);
	border: 1px solid var(--wp--preset--color--border, #E2DFDA);
	border-radius: 18px; padding: 1.4rem 1.4rem 1.5rem;
	box-shadow: 0 14px 34px -26px rgba(17,78,70,.4);
}
.amc-svc-side__title { color: var(--wp--preset--color--secondary, #114E46); font-size: 1.15rem; font-weight: 700; margin: 0 0 .9rem; }
.amc-svc-side__list { list-style: none; margin: 0; padding: 0; }
.amc-svc-side__list li { margin: 0; }
.amc-svc-side__group { font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--accent, #18675C); padding: .9rem 0 .35rem; border-bottom: 1px solid var(--wp--preset--color--border, #E2DFDA); }
.amc-svc-side__list li.amc-svc-side__group:first-child { padding-top: 0; }
.amc-svc-side__list a {
	display: flex; align-items: center; gap: .55rem; padding: .58rem .15rem;
	color: var(--wp--preset--color--foreground, #5F6463); text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--border, #E2DFDA);
	font-size: .95rem; line-height: 1.3;
	transition: color .18s ease, transform .18s ease;
}
.amc-svc-side__list li:last-child a { border-bottom: 0; }
.amc-svc-side__arrow { color: var(--wp--preset--color--primary, #F5C233); font-weight: 700; flex: 0 0 auto; transition: transform .18s ease; }
.amc-svc-side__list a:hover { color: var(--wp--preset--color--secondary, #114E46); transform: translateX(.3rem); }
.amc-svc-side__list a:hover .amc-svc-side__arrow { transform: translateX(2px); }
.amc-svc-side__list a.is-current { color: var(--wp--preset--color--secondary, #114E46); font-weight: 700; }
.amc-svc-side__list a.is-current .amc-svc-side__arrow { color: var(--wp--preset--color--secondary, #114E46); }
.amc-svc-side__list a:focus-visible { outline: 3px solid var(--wp--preset--color--accent, #18675C); outline-offset: 2px; border-radius: 6px; }

/* Booking card */
.amc-svc-side__cta { background: var(--wp--preset--color--primary, #F5C233); border-radius: 18px; padding: 1.5rem; text-align: center; }
.amc-svc-side__cta h3 { color: var(--wp--preset--color--secondary, #114E46); font-size: 1.15rem; font-weight: 700; margin: 0 0 .4rem; }
.amc-svc-side__cta p { color: rgba(17,78,70,.85); font-size: .93rem; margin: 0 0 1.1rem; line-height: 1.5; }
.amc-svc-side__btn { display: inline-flex; align-items: center; gap: .45rem; background: var(--wp--preset--color--secondary, #114E46); color: #fff; font-weight: 700; text-decoration: none; padding: .72rem 1.3rem; border-radius: 999px; position: relative; overflow: hidden; isolation: isolate; transition: color .3s ease, transform .2s ease; }
/* Green button, so the sweep goes gold with ink text (green-on-green is invisible). */
.amc-svc-side__btn::after { content: ""; position: absolute; inset: -2px; z-index: -1; border-radius: inherit; background: var(--wp--preset--color--primary); transform: translateX(-101%); transition: transform .5s cubic-bezier(.22, 1, .36, 1); }
.amc-svc-side__btn:hover { color: var(--wp--preset--color--gold-ink); transform: translateY(-2px); }
.amc-svc-side__btn:hover::after { transform: translateX(0); }
.amc-svc-side__cta .amc-phone { margin-top: .85rem; justify-content: center; width: 100%; }

/* ---------- Services archive: grouped by category, 3 per row ---------- */
.amc-svc-groups { display: flex; flex-direction: column; gap: clamp(2.5rem, 5vw, 4rem); }
.amc-svc-cat__head { max-width: 62ch; margin: 0 0 clamp(1.2rem, 2.5vw, 1.8rem); }
.amc-svc-cat__title { color: var(--wp--preset--color--secondary, #114E46); font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2rem); font-weight: 700; letter-spacing: -.01em; margin: 0; }
.amc-svc-cat__title::after { content: ""; display: block; width: 56px; height: 3px; border-radius: 3px; background: var(--wp--preset--color--primary, #F5C233); margin-top: .6rem; }
.amc-svc-cat__desc { color: var(--wp--preset--color--foreground, #5F6463); margin: .8rem 0 0; }
.amc-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2vw, 1.6rem); }
.amc-svc-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--wp--preset--color--border, #E2DFDA); border-radius: 20px; overflow: hidden; box-shadow: var(--wp--preset--shadow--card); transition: transform .3s ease, box-shadow .3s ease; }
.amc-svc-card:hover { transform: translateY(-4px); box-shadow: 0 26px 54px -26px rgba(17,78,70,.55); }
.amc-svc-card__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.amc-svc-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.amc-svc-card:hover .amc-svc-card__media img { transform: scale(1.04); }
.amc-svc-card__body { padding: 1.1rem 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.amc-svc-card__title { font-size: 1.16rem; line-height: 1.25; margin: 0; }
.amc-svc-card__title a { color: var(--wp--preset--color--secondary, #114E46); text-decoration: none; }
.amc-svc-card__title a:hover { color: var(--wp--preset--color--accent, #18675C); }
.amc-svc-card__excerpt { color: var(--wp--preset--color--foreground, #5F6463); font-size: .94rem; line-height: 1.55; margin: 0; flex: 1; }
.amc-svc-card__link { color: var(--wp--preset--color--accent, #18675C); font-weight: 700; font-size: .9rem; text-decoration: none; margin-top: .2rem; }
.amc-svc-card__link:hover { text-decoration: underline; }
@media (max-width: 900px) { .amc-svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .amc-svc-grid { grid-template-columns: 1fr; } }

/* Category icon badge — deep-green line icon in a soft gold circle (Proposal A). */
.amc-svc-cat__ico { display: inline-grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: rgba(245, 194, 51, .18); color: var(--wp--preset--color--secondary, #114E46); margin: 0 0 .75rem; }
.amc-svc-cat__ico svg { width: 1.45rem; height: 1.45rem; }

/* "What's included" grids: when the last card starts a new 3-up row alone it
   rendered as a skinny one-third orphan — let it span the full row instead. */
.amc-service-main .wp-block-group.is-layout-grid > .wp-block-group:last-child:nth-child(3n + 1) {
	grid-column: 1 / -1;
}
