/*!
 * DazComm Website 1.3.0: site pages (Solutions, service pages, Contact, Partners) and landing pages.
 * Scoped under #dc like home.css. Builds on the homepage components.
 */

/* Page hero: same grid as the homepage, slightly smaller headline. */
#dc .dc-hero--page .dc-hero__title { max-width: 16ch; font-size: clamp(36px, 20px + 3vw, 60px); }
#dc .dc-hero--page .dc-hero__intro { color: var(--dc-red-dark); font-family: var(--dc-display); font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }

/* Contact methods */
#dc .dc-contact-list { gap: 14px; }
#dc .dc-contact-list li { align-items: flex-start; gap: 14px; font-weight: 400; }
#dc .dc-contact-list__icon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border: 1px solid var(--dc-line); border-radius: 10px; background: #fff; color: var(--dc-red); }
#dc .dc-contact-list__icon .dc-icon { width: 20px; height: 20px; color: var(--dc-red); stroke-width: 1.9; }
#dc .dc-contact-list li > span:last-child { display: grid; gap: 1px; min-width: 0; padding-top: 1px; }
#dc .dc-contact-list__label { font-family: var(--dc-display); font-weight: 700; font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--dc-muted); }
#dc .dc-contact-list a { color: var(--dc-ink); font-weight: 700; font-size: 17px; text-decoration: underline; text-decoration-color: var(--dc-red); text-decoration-thickness: 2px; text-underline-offset: 4px; overflow-wrap: anywhere; }
#dc .dc-contact-list a:hover { color: var(--dc-red-dark); }

/* Feature grid */
#dc .dc-features__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
#dc .dc-features__art { flex: none; margin-bottom: clamp(32px, 4.5vw, 56px); }
#dc .dc-features__art .dc-art { width: 210px; height: 140px; }
#dc .dc-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
#dc .dc-features--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#dc .dc-feature { display: grid; align-content: start; gap: 8px; padding: 24px; border: 1px solid var(--dc-line); border-radius: 16px; background: #fff; }
#dc .dc-feature__icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 8px; border-radius: 12px; background: var(--dc-red-tint); color: var(--dc-red-dark); }
#dc .dc-feature__icon .dc-icon { width: 22px; height: 22px; }
#dc .dc-feature__title { font-family: var(--dc-display); font-weight: 700; font-size: 18px; line-height: 1.3; letter-spacing: -0.01em; color: var(--dc-ink); }
#dc .dc-feature__text { font-size: 15.5px; line-height: 1.55; color: var(--dc-muted); }
#dc .dc-features__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 34px; }
#dc .dc-features__note { font-size: 15px; color: var(--dc-muted); }

/* Page text from the editor */
#dc .dc-pagecopy { background: #fff; }
#dc .dc-pagecopy .dc-prose > h2:first-child { margin-top: 0; }

/* Related services */
#dc .dc-related { padding: clamp(44px, 5vw, 64px) 0; border-top: 1px solid var(--dc-line); }
#dc .dc-related__title { margin-bottom: 18px; }
#dc .dc-related__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
#dc .dc-related__item { display: grid; gap: 4px; height: 100%; padding: 20px 22px; border: 1px solid var(--dc-line); border-radius: 14px; color: inherit; text-decoration: none; transition: border-color .15s ease; }
#dc .dc-related__name { font-family: var(--dc-display); font-weight: 700; font-size: 17px; color: var(--dc-ink); }
#dc .dc-related__desc { font-size: 14.5px; line-height: 1.5; color: var(--dc-muted); }
#dc .dc-related__item:hover { border-color: var(--dc-ink); }
#dc .dc-related__item:hover .dc-related__name { text-decoration: underline; text-decoration-color: var(--dc-red); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Partner form */
#dc .dc-partner-card .dc-group { margin-top: 18px; }
#dc .dc-partner-card .dc-partner-fields { margin-top: 18px; }
#dc .dc-partner-card textarea.dc-input { min-height: 110px; }

@media (max-width: 1060px) {
	#dc .dc-features, #dc .dc-related__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	#dc .dc-features, #dc .dc-features--2, #dc .dc-related__list { grid-template-columns: minmax(0, 1fr); }
	#dc .dc-features__art { display: none; }
	#dc .dc-feature { padding: 20px; }
	#dc .dc-features__actions .dc-btn { width: 100%; }
}

/* Two white sections in a row share their spacing. */
#dc .dc-hero--page + .dc-pagecopy, #dc .dc-section:not(.dc-section--wash) + .dc-pagecopy { padding-top: 0; }

/* ------------------------------------------------------------------ */
/* Landing pages                                                        */
/* ------------------------------------------------------------------ */

/* Focused header: logo, phone and one button. The menu is not printed on landing
   pages; these rules cover the single file preview, where every page shares one header. */
#dc.dc--focus .dc-nav, #dc.dc--focus .dc-menu-btn { display: none !important; }

/* The short answer, right under the hero */
#dc .dc-hero--page + .dc-answer { padding-top: 0; }
#dc .dc-answer { padding-bottom: clamp(52px, 6.5vw, 88px); background: #fff; }
#dc .dc-answer__card { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); padding: clamp(24px, 3.4vw, 40px); border: 1px solid var(--dc-line); border-left: 4px solid var(--dc-red); border-radius: 16px; background: #fff; }
#dc .dc-answer__eyebrow { font-family: var(--dc-display); font-weight: 700; font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--dc-red-dark); }
#dc .dc-answer__q { margin-top: 8px; }
#dc .dc-answer__a { max-width: 62ch; margin-top: 12px; font-size: 17px; line-height: 1.65; color: var(--dc-text); }
#dc .dc-answer__date { margin-top: 14px; font-size: 13.5px; color: var(--dc-muted); }
#dc .dc-answer__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 18px 24px; margin: 0; }
#dc .dc-answer__fact { padding-top: 14px; border-top: 1px solid var(--dc-line-strong); }
#dc .dc-answer__fact dt { font-family: var(--dc-display); font-weight: 700; font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--dc-muted); }
#dc .dc-answer__fact dd { margin: 5px 0 0; font-weight: 600; font-size: 15.5px; line-height: 1.5; color: var(--dc-ink); }

/* Page text with a sticky comparison card beside it (landing pages) */
#dc .dc-pagecopy__grid { display: grid; grid-template-columns: minmax(0, 760px) minmax(250px, 300px); justify-content: space-between; align-items: start; gap: 48px; }
#dc .dc-pagecopy__aside { position: sticky; top: calc(var(--dc-header-h) + 28px); }
.admin-bar #dc .dc-pagecopy__aside { top: calc(var(--dc-header-h) + 60px); }
#dc .dc-aside-card { display: grid; gap: 14px; padding: 24px; border: 1px solid var(--dc-line); border-radius: 16px; background: #fff; box-shadow: 0 18px 40px -30px rgba(0, 0, 0, .35); }
#dc .dc-aside-card__title { font-family: var(--dc-display); font-weight: 800; font-size: 19px; line-height: 1.25; letter-spacing: -0.01em; color: var(--dc-ink); }
#dc .dc-aside-card__list { display: grid; gap: 8px; font-size: 14.5px; line-height: 1.45; color: var(--dc-text); }
#dc .dc-aside-card__list li { display: flex; align-items: flex-start; gap: 8px; }
#dc .dc-aside-card__list .dc-icon { flex: none; width: 18px; height: 18px; margin-top: 1px; color: var(--dc-red); }
#dc .dc-aside-card__call { font-size: 14px; color: var(--dc-muted); text-align: center; }
#dc .dc-aside-card__call a { font-weight: 700; color: var(--dc-ink); text-decoration: underline; text-decoration-color: var(--dc-red); text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* Comparison tables inside the page text */
#dc .dc-prose .dc-table { margin-top: 18px; font-size: 15px; line-height: 1.5; }
#dc .dc-prose .dc-table th, #dc .dc-prose .dc-table td { vertical-align: top; }
#dc .dc-prose .dc-table thead th { font-size: 12.5px; letter-spacing: .02em; }
#dc .dc-prose .dc-table tbody th { font-size: 15px; }

/* Sources for facts on the page */
#dc .dc-sources { margin-top: 44px; padding-top: 18px; border-top: 1px solid var(--dc-line); }
#dc .dc-sources__title { font-family: var(--dc-display); font-weight: 700; font-size: 14px; color: var(--dc-ink); }
#dc .dc-prose .dc-sources ul { margin-top: 8px; padding-left: 1.2em; font-size: 14px; line-height: 1.5; color: var(--dc-muted); }
#dc .dc-prose .dc-sources li { max-width: none; }
#dc .dc-prose .dc-sources li + li { margin-top: 5px; }
#dc .dc-prose .dc-sources a { font-weight: 600; text-decoration-thickness: 1px; }

@media (max-width: 1060px) {
	#dc .dc-pagecopy__grid { grid-template-columns: minmax(0, 1fr); }
	#dc .dc-pagecopy__aside { display: none; }
}
@media (max-width: 960px) {
	#dc .dc-answer__card { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
	/* Stacked tables: each value under its label, so long text reads naturally. */
	#dc .dc-table.dc-table--stack th, #dc .dc-table.dc-table--stack td,
	#dc .dc-table.dc-table--stack tbody tr:last-child th, #dc .dc-table.dc-table--stack tbody tr:last-child td { display: block; padding: 5px 0; }
	#dc .dc-table.dc-table--stack tbody th { padding-bottom: 6px; }
	#dc .dc-table.dc-table--stack td::before { display: block; margin-bottom: 1px; font-size: 13px; }
}
@media (max-width: 560px) {
	#dc .dc-answer__facts { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	#dc .dc-answer__a { font-size: 16.5px; }
}

/* City pages (1.4.0) ------------------------------------------------------ */
#dc .dc-cityindex__state { margin: 36px 0 16px; }
#dc .dc-cityindex__state:first-of-type { margin-top: 0; }
#dc .dc-nearby { padding-top: 0; }
#dc .dc-nearby__all { margin-top: 20px; font-weight: 600; }
#dc .dc-nearby__all a { color: var(--dc-ink); text-decoration: underline; text-decoration-color: var(--dc-red); text-decoration-thickness: 2px; text-underline-offset: 4px; }
