/* Owners portal. Built on the live theme's tokens, so it follows any change to theme.json. */

.ahcp-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--wp--preset--spacing--50); max-width: var(--wp--style--global--wide-size); margin: 0 auto; padding-block: var(--wp--preset--spacing--50); }
.ahcp-main { min-width: 0; }
.ahcp-bare { max-width: 34rem; margin: 0 auto; padding-block: var(--wp--preset--spacing--60); }
.ahcp-bare h1 { font-size: var(--wp--preset--font-size--heading-2); margin-top: 0; }

.ahcp-title { font-size: var(--wp--preset--font-size--heading-2); margin: 0 0 .5rem; overflow-wrap: anywhere; }
.ahcp-intro { max-width: 44rem; margin-top: 0; }
.ahcp-h2 { font-size: var(--wp--preset--font-size--heading-3); margin: 2rem 0 1rem; }
.ahcp-muted { color: var(--wp--preset--color--grey-2); font-size: .875rem; }
.ahcp-empty { color: var(--wp--preset--color--grey-2); font-style: italic; }
.ahcp-section { margin-top: var(--wp--preset--spacing--50); }
.ahcp-section > h2 { font-size: var(--wp--preset--font-size--heading-3); margin: 0 0 .75rem; }

/* Navigation */
.ahcp-sidebar ul { list-style: none; margin: 0; padding: 0; position: sticky; top: 6rem; }
.ahcp-sidebar li { border-top: 1px solid var(--wp--preset--color--grey-5); }
.ahcp-sidebar li:first-child { border-top: 1px solid var(--wp--preset--color--gold); }
.ahcp-sidebar a, .ahcp-link { display: block; width: 100%; text-align: left; padding: .6rem 0; font-family: var(--wp--preset--font-family--label); font-size: .8125rem; font-weight: 500; text-decoration: none; color: var(--wp--preset--color--grey-1); background: none; border: 0; cursor: pointer; }
.ahcp-sidebar a:hover, .ahcp-link:hover { color: var(--wp--preset--color--gold-dark); }
.ahcp-sidebar a[aria-current="page"] { color: #000; font-weight: 600; box-shadow: inset 2px 0 0 var(--wp--preset--color--gold); padding-left: .6rem; }
.ahcp-sidebar .is-sep { margin-top: .75rem; }
.ahcp-sidebar__toggle { display: none; }
.ahcp-count { display: inline-block; min-width: 1.25rem; padding: 0 .3rem; text-align: center; background: #000; color: #fff; font-size: .7rem; line-height: 1.25rem; }

.ahcp-tabs { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; border-bottom: 1px solid var(--wp--preset--color--grey-5); margin: 1rem 0 1.5rem; }
.ahcp-tabs a { font-family: var(--wp--preset--font-family--label); font-size: .8125rem; font-weight: 500; text-decoration: none; padding: .5rem 0; color: var(--wp--preset--color--grey-1); }
.ahcp-tabs a[aria-current="page"] { color: #000; border-bottom: 2px solid var(--wp--preset--color--gold); }

/* Cards and stats */
.ahcp-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid var(--wp--preset--color--gold); margin: 1rem 0 var(--wp--preset--spacing--40); }
.ahcp-hero img { display: block; width: 100%; height: 16rem; object-fit: cover; }
.ahcp-hero__text { padding: 1.25rem 1.5rem 1.25rem 0; }
.ahcp-hero__text:first-child:last-child { grid-column: 1 / -1; }
.ahcp-hero img + .ahcp-hero__text { padding-left: 1.5rem; }
.ahcp-hero h2 { font-size: var(--wp--preset--font-size--heading-3); margin: 0 0 .25rem; }
.ahcp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--40); }
.ahcp-card { border-top: 1px solid var(--wp--preset--color--gold); padding-top: 1rem; min-width: 0; }
.ahcp-section > .ahcp-card + .ahcp-card { margin-top: 1.5rem; }
.ahcp-card h2 { font-size: var(--wp--preset--font-size--heading-3); margin: 0 0 .5rem; }
.ahcp-card h2 a { text-decoration: none; }
.ahcp-card.is-attention { background: var(--wp--preset--color--grey-6); padding: 1rem 1.25rem; }
.ahcp-card__img { display: block; width: 100%; height: 11rem; object-fit: cover; margin-bottom: .75rem; }
.ahcp-price { font-family: var(--wp--preset--font-family--label); font-weight: 600; color: #000; margin: .25rem 0; }
.ahcp-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 11.5rem), 1fr)); gap: 1rem 1.5rem; margin: 1rem 0; }
.ahcp-stat { border-top: 1px solid var(--wp--preset--color--gold); padding-top: .75rem; text-decoration: none; display: block; color: inherit; }
.ahcp-stat.is-link:hover .ahcp-stat__value { color: var(--wp--preset--color--gold-dark); }
.ahcp-stat__label { font-family: var(--wp--preset--font-family--label); font-size: .75rem; font-weight: 500; margin: 0; color: var(--wp--preset--color--grey-1); }
.ahcp-stat__value { font-family: var(--wp--preset--font-family--display); font-size: 1.625rem; line-height: 1.2; color: #000; margin: .25rem 0; font-feature-settings: "lnum"; overflow-wrap: anywhere; }

.ahcp-dl { display: grid; grid-template-columns: auto auto; justify-content: space-between; gap: .3rem 1rem; margin: .5rem 0; }
.ahcp-dl.is-wide { grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); justify-content: start; }
.ahcp-dl dt { color: var(--wp--preset--color--grey-2); font-size: .9375rem; }
.ahcp-dl dd { margin: 0; overflow-wrap: anywhere; }

.ahcp-list { list-style: none; margin: .25rem 0; padding: 0; }
.ahcp-list li { padding: .45rem 0; border-top: 1px solid var(--wp--preset--color--grey-5); }
.ahcp-list li:first-child { border-top: 0; }
.ahcp-timeline { list-style: none; margin: .5rem 0; padding: 0; }
.ahcp-timeline li { padding: .45rem 0; border-top: 1px solid var(--wp--preset--color--grey-5); }
.ahcp-timeline li.is-unread { font-weight: 700; }

.ahcp-badge { display: inline-block; font-family: var(--wp--preset--font-family--label); font-size: .6875rem; font-weight: 600; line-height: 1.3; padding: .2rem .5rem; border: 1px solid var(--wp--preset--color--grey-3); color: var(--wp--preset--color--grey-1); background: #fff; }
.ahcp-badge.is-ok { border-color: #276749; color: #1d5137; }
.ahcp-badge.is-note { border-color: var(--wp--preset--color--gold-dark); color: #6a5c3c; }
.ahcp-badge.is-warn { border-color: #975a16; color: #7b4a11; }
.ahcp-badge.is-bad { border-color: #9b1c1c; color: #7f1d1d; }

.ahcp-notice { border-left: 2px solid var(--wp--preset--color--gold); background: var(--wp--preset--color--grey-6); padding: .75rem 1rem; margin: 1rem 0; font-size: .9375rem; color: var(--wp--preset--color--grey-1); }
.ahcp-notice p { margin: 0; }
.ahcp-notice.is-warn { border-left-color: #975a16; }
.ahcp-notice.is-bad { border-left-color: #9b1c1c; }

/* Tables become labelled rows on a phone, so nothing scrolls sideways. */
.ahcp-table-wrap { overflow-x: auto; margin: .75rem 0; }
.ahcp-table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.ahcp-table th { font-family: var(--wp--preset--font-family--label); font-size: .72rem; font-weight: 600; text-align: left; color: #000; border-bottom: 1px solid var(--wp--preset--color--gold); padding: .5rem .6rem .5rem 0; white-space: nowrap; }
.ahcp-table td { border-bottom: 1px solid var(--wp--preset--color--grey-5); padding: .6rem .6rem .6rem 0; vertical-align: top; overflow-wrap: anywhere; }
.ahcp-table .num { text-align: right; white-space: nowrap; font-feature-settings: "tnum"; }
.ahcp-table code { font-size: .75rem; word-break: break-all; }

/* Forms */
.ahcp-form { margin: .75rem 0; max-width: 56rem; }
.ahcp-form.is-inline { display: inline-block; margin: .15rem .35rem .15rem 0; vertical-align: top; }
.ahcp-form.is-inline .ahcp-field { margin-bottom: .4rem; }
.ahcp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: .9rem 1.25rem; }
.ahcp-grid > .is-full { grid-column: 1 / -1; }
.ahcp-field { min-width: 0; margin-bottom: .9rem; }
.ahcp-grid > .ahcp-field { margin-bottom: 0; }
.ahcp-field label, .ahcp-portal fieldset legend { display: block; font-family: var(--wp--preset--font-family--label); font-size: .78rem; font-weight: 500; color: #000; margin-bottom: .3rem; padding: 0; }
.ahcp-field input, .ahcp-field select, .ahcp-field textarea, [data-vault] textarea, [data-mfa-setup] input { box-sizing: border-box; width: 100%; font: inherit; color: #000; background: #fff; padding: .6rem .7rem; min-height: 2.75rem; border: 1px solid var(--wp--preset--color--grey-2); border-radius: 0; }
.ahcp-field input[type="file"] { padding: .45rem; }
.ahcp-help { font-size: .8125rem; color: var(--wp--preset--color--grey-2); margin: .3rem 0 0; }
.ahcp-checks { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin: .75rem 0; }
.ahcp-checks.is-column { flex-direction: column; }
.ahcp-check { display: inline-flex; gap: .5rem; align-items: flex-start; font-size: .9375rem; min-height: 1.75rem; }
.ahcp-check input { margin-top: .3rem; accent-color: #000; }
.ahcp-actions { display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: center; margin-top: 1rem; }
.ahcp-actions.is-sticky { position: sticky; bottom: 0; background: #fff; padding: .6rem 0; border-top: 1px solid var(--wp--preset--color--grey-5); z-index: 5; }
.ahcp-form.is-inline .ahcp-actions { margin-top: 0; }
.ahcp-form-msg { margin: 0; font-size: .875rem; }
.ahcp-form-msg:empty { display: none; }
.ahcp-form-msg.is-error { color: #7f1d1d; font-weight: 700; }
.ahcp-btn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; font-family: var(--wp--preset--font-family--label); font-size: .78rem; font-weight: 500; letter-spacing: .04em; line-height: 1.3; padding: .75rem 1.1rem; min-height: 2.75rem; background: #000; color: #fff; border: 1px solid #000; cursor: pointer; text-decoration: none; border-radius: 0; }
.ahcp-btn:hover { background: var(--wp--preset--color--gold-dark); border-color: var(--wp--preset--color--gold-dark); color: #fff; }
.ahcp-btn.is-ghost { background: transparent; color: #000; }
.ahcp-btn.is-ghost:hover { background: #000; color: #fff; border-color: #000; }
.ahcp-btn[disabled] { opacity: .55; cursor: progress; }
.ahcp-filter { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; margin: .75rem 0; }
.ahcp-filter .ahcp-field { margin: 0; min-width: 11rem; }
.ahcp-switcher { display: flex; gap: .75rem; align-items: center; margin: .5rem 0 1rem; flex-wrap: wrap; }
.ahcp-switcher label { font-family: var(--wp--preset--font-family--label); font-size: .78rem; font-weight: 500; }
.ahcp-switcher select { font: inherit; min-height: 2.75rem; padding: .4rem .6rem; border: 1px solid var(--wp--preset--color--grey-2); max-width: 100%; }
.ahcp-details { border-top: 1px solid var(--wp--preset--color--grey-5); padding: .75rem 0; margin-top: .75rem; }
.ahcp-details summary { cursor: pointer; font-family: var(--wp--preset--font-family--label); font-size: .8125rem; font-weight: 500; min-height: 1.75rem; }

/* Inspection editor: designed for a phone on site. */
.ahcp-fieldset { border: 0; border-top: 1px solid var(--wp--preset--color--gold); padding: 1rem 0 0; margin: 1.5rem 0 0; min-width: 0; }
.ahcp-fieldset > legend { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--heading-3); font-weight: 400; color: #000; padding: 0 .75rem 0 0; }
.ahcp-check-section { border: 0; border-top: 1px solid var(--wp--preset--color--grey-5); margin: 0; padding: 1rem 0 .25rem; min-width: 0; }
.ahcp-check-section > legend { font-size: .9375rem; font-weight: 600; float: left; width: 100%; margin-bottom: .5rem; }
.ahcp-radios { clear: both; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; margin-bottom: .6rem; }
.ahcp-radio { display: block; cursor: pointer; }
.ahcp-radio input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ahcp-radio span { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 2.75rem; padding: .3rem; border: 1px solid var(--wp--preset--color--grey-3); font-family: var(--wp--preset--font-family--label); font-size: .72rem; font-weight: 500; line-height: 1.2; }
.ahcp-radio input:checked + span { background: #000; color: #fff; border-color: #000; }
.ahcp-radio.is-ok input:checked + span { background: #1d5137; border-color: #1d5137; }
.ahcp-radio.is-attention input:checked + span { background: #7b4a11; border-color: #7b4a11; }
.ahcp-radio input:focus-visible + span { outline: 2px solid #000; outline-offset: 2px; }

.ahcp-gallery { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr)); gap: 1rem; margin: .75rem 0; padding: 0; }
.ahcp-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ahcp-gallery p { margin: .3rem 0; font-size: .875rem; }
.ahcp-lightbox { border: 0; padding: 1rem; max-width: 92vw; max-height: 92vh; }
.ahcp-lightbox::backdrop { background: rgba(0, 0, 0, .75); }
.ahcp-lightbox img { display: block; max-width: 100%; max-height: 78vh; margin-top: .75rem; }

.ahcp-messages { list-style: none; margin: 1rem 0; padding: 0; }
.ahcp-messages li { border-top: 1px solid var(--wp--preset--color--grey-5); padding: .75rem 0; }
.ahcp-messages li.is-internal { background: var(--wp--preset--color--grey-6); padding-inline: .75rem; }
.ahcp-messages p { margin: 0 0 .3rem; }

@media (max-width: 860px) {
	.ahcp-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding-block: 1rem var(--wp--preset--spacing--50); }
	.ahcp-sidebar ul { display: none; position: static; }
	.ahcp-sidebar.is-open ul { display: block; }
	.ahcp-sidebar__toggle { display: block; width: 100%; text-align: left; min-height: 2.75rem; padding: .5rem .75rem; background: #fff; border: 1px solid var(--wp--preset--color--grey-1); font-family: var(--wp--preset--font-family--label); font-size: .8125rem; font-weight: 600; color: #000; cursor: pointer; }
	.ahcp-sidebar__toggle::after { content: " \25BE"; }
	.ahcp-sidebar a, .ahcp-link { min-height: 2.75rem; box-sizing: border-box; display: flex; align-items: center; }
	.ahcp-hero { grid-template-columns: minmax(0, 1fr); }
	.ahcp-hero img + .ahcp-hero__text { padding-left: 0; }
	.ahcp-dl.is-wide { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.ahcp-dl.is-wide dd { margin-bottom: .5rem; }
	.ahcp-table thead { position: absolute; left: -9999px; }
	.ahcp-table, .ahcp-table tbody, .ahcp-table tr, .ahcp-table td { display: block; width: 100%; box-sizing: border-box; }
	.ahcp-table tr { border-top: 1px solid var(--wp--preset--color--gold); padding: .5rem 0; }
	.ahcp-table td { border: 0; padding: .2rem 0; text-align: left !important; white-space: normal !important; }
	.ahcp-table td:empty { display: none; }
	.ahcp-table td[data-label]:not([data-label=""])::before { content: attr(data-label); display: block; font-family: var(--wp--preset--font-family--label); font-size: .68rem; font-weight: 600; color: var(--wp--preset--color--grey-2); }
	.ahcp-radios { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ahcp-form.is-inline { display: block; margin-right: 0; }
}
.ahcp-h3 { font-size: 1rem; margin: 1rem 0 .5rem; }
.ahcp-cal-nav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 1rem; margin: 1rem 0; }
.ahcp-cal-nav h2 { margin: 0; font-size: 1.5rem; }
.ahcp-cal-head, .ahcp-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; }
.ahcp-cal-head span { font-family: var(--wp--preset--font-family--label); font-size: .75rem; padding: .25rem .4rem; }
.ahcp-cal { list-style: none; margin: 0 0 1rem; padding: 0; background: var(--wp--preset--color--grey-5); border: 1px solid var(--wp--preset--color--grey-5); }
.ahcp-cal li { background: #fff; min-height: 6rem; padding: .4rem; min-width: 0; overflow-wrap: anywhere; }
.ahcp-cal li.is-blank { background: var(--wp--preset--color--grey-6); }
.ahcp-cal li.is-today { box-shadow: inset 0 0 0 2px var(--wp--preset--color--gold); }
.ahcp-cal time { display: block; font-size: .75rem; margin-bottom: .25rem; }
.ahcp-cal-item { font-size: .8125rem; line-height: 1.3; margin: 0 0 .3rem; }
.ahcp-cal-item a { display: inline-block; min-height: 1.5rem; }
@media (max-width: 860px) {
	.ahcp-cal-head { display: none; }
	.ahcp-cal { display: block; }
	.ahcp-cal li { min-height: 0; border-bottom: 1px solid var(--wp--preset--color--grey-5); }
	.ahcp-cal-nav h2 { order: -1; flex-basis: 100%; }
	.ahcp-cal-item a, .ahcp-cal-nav a { display: flex; align-items: center; min-height: 2.75rem; }
	.ahcp-cal li.is-blank, .ahcp-cal li.is-empty { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.ahcp-portal * { scroll-behavior: auto !important; transition: none !important; }
}

/* Text on tinted surfaces needs the darker grey to keep its contrast. */
.ahcp-card.is-attention .ahcp-muted, .ahcp-messages .is-internal .ahcp-muted, .ahcp-card.is-attention .ahcp-dl dt, .ahcp-notice .ahcp-muted { color: var(--wp--preset--color--grey-1); }

/* Smallest phones: the site name must wrap so the header fits. Scoped to the portal. */
@media (max-width: 400px) {
	.ahcp-portal .ahc-brand { white-space: normal; font-size: 1.125rem; }
	.ahcp-portal .ahc-header__bar { gap: .5rem; }
}
