/*
 Theme Name:   Luxury Theme
 Theme URI:    https://generatepress.com
 Description:  Luxury Real Estate Theme
 Author:       Jordan Kayle
 Template:     generatepress
 Version:      0.1
*/

/* Template Styling */
/* GeneratePress Site CSS */ /* navigation letter spacing */


/* =========================================================
   AgentRank pages (Buyers, Sellers): ar- classes
   Blocks: buyers-, sellers- and resources-page-blocks.txt
   The page header is the site's GeneratePress Page Hero Element.
   Replace the whole previous ar- section with this one.
   ========================================================= */

/* ---- 1. Page frame: only on pages that contain .ar-page ---- */
body:has(.ar-page) #page.grid-container { max-width: none; padding: 0; }
body:has(.ar-page) .site-content { padding: 0; }
body:has(.ar-page) .site-main { margin: 0; }
body:has(.ar-page) .site-main > * { margin-bottom: 0; }
body:has(.ar-page) .inside-article { padding: 0; }
body:has(.ar-page) .entry-content { margin: 0; }

/* ---- 2. The theme wraps every Group in an inner div with its own
   width and padding. Take it out of the layout inside our pages. ---- */
.ar-page .wp-block-group__inner-container { display: contents; }

/* ---- 3. Tokens ---- */
.ar-page {
	--ar-accent: var(--accent, #c8a35a);
	--ar-solid: color-mix(in srgb, var(--ar-accent) 82%, #000);
	--ar-solid-hover: color-mix(in srgb, var(--ar-accent) 68%, #000);
	--ar-ink: #0B0B1F;
	--ar-tint: #EDF1F9;
	--ar-line: #DDE4EF;
	--ar-text: #0F172A;
	--ar-soft: #5B6780;
	--ar-u: var(--mah-base, 1rem);
	margin: 0;
	color: var(--ar-text);
}

/* ---- 4. Sections ---- */
.ar-page .ar-sec { margin: 0; padding: calc(var(--ar-u) * 5.5) 0; }
.ar-page .ar-white { background-color: #fff; }
.ar-page .ar-tint { background-color: var(--ar-tint); }
.ar-page .ar-ink { background-color: var(--ar-ink); color: #fff; }
.ar-page .ar-wrap { max-width: 1200px; margin: 0 auto; padding: 0 28px; }

/* ---- 5. Type ---- */
.ar-page .ar-sec p { margin: 0 0 calc(var(--ar-u) * 1); font-size: calc(var(--ar-u) * 1.0625); line-height: 1.7; }
.ar-page .ar-sec p:empty { display: none; }
.ar-page .ar-sec h2.wp-block-heading { margin: 0 0 calc(var(--ar-u) * 1.1); font-weight: 600; font-size: clamp(calc(var(--ar-u) * 1.75), 3.2vw, calc(var(--ar-u) * 2.5)); line-height: 1.2; color: var(--ar-text); }
.ar-page .ar-sec h2.wp-block-heading::before { content: ""; display: block; width: 44px; height: 3px; margin-bottom: calc(var(--ar-u) * 1.3); background-color: var(--ar-accent); }
.ar-page .ar-sec h3.wp-block-heading { margin: 0 0 calc(var(--ar-u) * 0.5); font-weight: 700; font-size: calc(var(--ar-u) * 1.125); line-height: 1.35; color: var(--ar-text); }
.ar-page .ar-ink h2.wp-block-heading, .ar-page .ar-ink h3.wp-block-heading { color: #fff; }
.ar-page .ar-sec .ar-lead { max-width: 62ch; font-size: calc(var(--ar-u) * 1.125); color: var(--ar-soft); }
.ar-page .ar-ink .ar-lead { color: #C9CEDC; }

/* ---- 6. Intro + agent card ---- */
.ar-page .ar-intro { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.ar-page .ar-intro-text p { max-width: 62ch; font-size: calc(var(--ar-u) * 1.125); }
.ar-page .ar-agent { padding: 28px; border-radius: 20px; background-color: var(--ar-tint); }
.ar-page .ar-agent p { margin: 0; font-size: calc(var(--ar-u) * 0.95); }
.ar-page .ar-agent .ar-agent-name { font-size: calc(var(--ar-u) * 1.4); font-weight: 600; line-height: 1.25; }
.ar-page .ar-agent .ar-agent-firm { margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--ar-line); color: var(--ar-soft); }
.ar-page .ar-agent .ar-agent-row { margin-bottom: 6px; font-variant-numeric: tabular-nums; }
.ar-page .ar-agent .ar-agent-row a { color: var(--ar-text); text-decoration: none; }
.ar-page .ar-agent .ar-agent-row a:hover, .ar-page .ar-agent .ar-agent-row a:focus { color: var(--ar-solid); }
.ar-page .ar-agent .ar-agent-lic { color: #94A3B8; font-size: calc(var(--ar-u) * 0.85); }

/* ---- 7. Steps (numbered by CSS) ---- */
.ar-page .ar-steps { counter-reset: ar-step; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: calc(var(--ar-u) * 3); border-top: 1px solid var(--ar-line); }
.ar-page .ar-steps .ar-step { counter-increment: ar-step; padding: 30px 32px 34px 0; border-bottom: 1px solid var(--ar-line); }
.ar-page .ar-steps .ar-step:nth-child(3n+2), .ar-page .ar-steps .ar-step:nth-child(3n) { padding-left: 32px; border-left: 1px solid var(--ar-line); }
.ar-page .ar-steps .ar-step h3.wp-block-heading::before { content: counter(ar-step); display: block; margin-bottom: 16px; color: var(--ar-solid); font-size: calc(var(--ar-u) * 2.6); font-weight: 300; line-height: 1; font-variant-numeric: tabular-nums; }
.ar-page .ar-steps .ar-step p { margin: 0; color: var(--ar-soft); font-size: calc(var(--ar-u) * 0.97); }

/* ---- 8. Tips ---- */
.ar-page .ar-tips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: calc(var(--ar-u) * 2.5); }
.ar-page .ar-tips .ar-tip { padding: 28px; border: 1px solid var(--ar-line); border-radius: 18px; background-color: #fff; }
.ar-page .ar-white .ar-tips .ar-tip { border-color: transparent; background-color: var(--ar-tint); }
.ar-page .ar-tips .ar-tip p { margin: 0; color: var(--ar-soft); font-size: calc(var(--ar-u) * 0.97); }

/* ---- 9. Guide cards (Resources) ---- */
.ar-page .ar-guides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: calc(var(--ar-u) * 2.5); }
.ar-page .ar-guides .ar-guide { position: relative; padding: 28px; border: 1px solid var(--ar-line); border-radius: 18px; background-color: #fff; transition: border-color .2s ease, transform .2s ease; }
.ar-page .ar-guides .ar-guide:hover, .ar-page .ar-guides .ar-guide:focus-within { border-color: var(--ar-accent); transform: translateY(-2px); }
.ar-page .ar-guides .ar-guide h3.wp-block-heading a { color: var(--ar-text); text-decoration: none; }
.ar-page .ar-guides .ar-guide h3.wp-block-heading a::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
.ar-page .ar-guides .ar-guide:hover h3.wp-block-heading a, .ar-page .ar-guides .ar-guide h3.wp-block-heading a:focus { color: var(--ar-solid); }
.ar-page .ar-guides .ar-guide h3.wp-block-heading a:focus-visible { outline: none; }
.ar-page .ar-guides .ar-guide:focus-within { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ar-accent) 30%, transparent); }
.ar-page .ar-guides .ar-guide p { margin: 0; color: var(--ar-soft); font-size: calc(var(--ar-u) * 0.97); }

/* ---- 10. Featured review ([mah_review]) ---- */
.ar-page .ar-review { max-width: 860px; }
.ar-page .ar-review .mah-review { margin: 0; }
.ar-page .ar-review .mah-review__text { margin: 0; padding: 0; border: 0; font-style: normal; font-size: clamp(calc(var(--ar-u) * 1.25), 2.2vw, calc(var(--ar-u) * 1.75)); line-height: 1.5; color: var(--ar-text); }
.ar-page .ar-review .mah-review__text::before { content: ""; display: block; width: 44px; height: 3px; margin-bottom: calc(var(--ar-u) * 1.3); background-color: var(--ar-accent); }
.ar-page .ar-review .mah-review__author { margin-top: 18px; color: var(--ar-soft); font-size: calc(var(--ar-u) * 0.95); }

/* ---- 11. FAQ ---- */
.ar-page .ar-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 56px; margin-top: calc(var(--ar-u) * 2.5); }
.ar-page .ar-faq .ar-faq-item h3.wp-block-heading { font-size: calc(var(--ar-u) * 1.25); }
.ar-page .ar-faq .ar-faq-item p { max-width: 56ch; margin: 0; color: var(--ar-soft); }

/* ---- 12. Home value (Sellers) ---- */
.ar-page .ar-hv { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 48px; align-items: center; padding: 48px; border-radius: 22px; background-color: #fff; }
.ar-page .ar-hv .ar-hv-note { margin: 12px 4px 0; color: var(--ar-soft); font-size: calc(var(--ar-u) * 0.85); }

/* ---- 13. Contact ---- */
.ar-page .ar-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: start; }
.ar-page .ar-contact .ar-lead { margin-bottom: 24px; }
.ar-page .ar-contact .ar-contact-row { margin: 0 0 8px; font-variant-numeric: tabular-nums; }
.ar-page .ar-contact .ar-contact-row a { color: #fff; text-decoration: none; }
.ar-page .ar-contact .ar-contact-row a:hover, .ar-page .ar-contact .ar-contact-row a:focus { color: #fff; text-decoration: underline; }
.ar-page .ar-contact .ar-contact-form { padding: 32px 32px 15px 32px; border-radius: 20px; background-color: #fff; color: var(--ar-text); }

/* ---- 14. Contact form (Formidable) ---- */
.ar-page .ar-contact-form .frm_forms { margin: 0; }
.ar-page .ar-contact-form .with_frm_style input[type="text"],
.ar-page .ar-contact-form .with_frm_style input[type="email"],
.ar-page .ar-contact-form .with_frm_style input[type="tel"],
.ar-page .ar-contact-form .with_frm_style textarea,
.ar-page .ar-contact-form .with_frm_style select { border: 1px solid #CBD5E1; border-radius: 12px; background-color: #fff; color: var(--ar-text); box-shadow: none; }
.ar-page .ar-contact-form .with_frm_style input[type="text"]:focus,
.ar-page .ar-contact-form .with_frm_style input[type="email"]:focus,
.ar-page .ar-contact-form .with_frm_style input[type="tel"]:focus,
.ar-page .ar-contact-form .with_frm_style textarea:focus,
.ar-page .ar-contact-form .with_frm_style select:focus { border-color: var(--ar-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ar-accent) 22%, transparent); outline: none; }
.ar-page .ar-contact-form .with_frm_style .frm_primary_label { color: var(--ar-soft); }
.ar-page .ar-contact-form .with_frm_style .frm_submit { margin: 8px 0 0; }
.ar-page .ar-contact-form .with_frm_style .frm_submit button { min-height: 50px; padding: 0 32px; border: 0; border-radius: 999px; background: var(--ar-solid); color: #fff; font-size: calc(var(--ar-u) * 0.95); font-weight: 600; }
.ar-page .ar-contact-form .with_frm_style .frm_submit button:hover,
.ar-page .ar-contact-form .with_frm_style .frm_submit button:focus { background: var(--ar-solid-hover); color: #fff; }

/* ---- 15. Tablet ---- */
@media (max-width: 900px) {
	.ar-page .ar-intro, .ar-page .ar-contact, .ar-page .ar-hv { grid-template-columns: 1fr; gap: 36px; }
	.ar-page .ar-hv { padding: 32px; }
	.ar-page .ar-steps, .ar-page .ar-tips, .ar-page .ar-guides { grid-template-columns: 1fr 1fr; }
	.ar-page .ar-steps .ar-step:nth-child(n) { padding: 26px 20px 28px 0; border-left: 0; }
	.ar-page .ar-steps .ar-step:nth-child(2n) { padding-left: 20px; border-left: 1px solid var(--ar-line); }
	.ar-page .ar-faq { grid-template-columns: 1fr; }
}

/* ---- 16. Phone ---- */
@media (max-width: 600px) {
	.ar-page .ar-sec { padding: calc(var(--ar-u) * 4) 0; }
	.ar-page .ar-wrap { padding: 0 20px; }
	.ar-page .ar-steps, .ar-page .ar-tips, .ar-page .ar-guides { grid-template-columns: 1fr; }
	.ar-page .ar-steps .ar-step:nth-child(n) { padding: 24px 0; border-left: 0; }
	.ar-page .ar-hv, .ar-page .ar-contact .ar-contact-form { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	.ar-page .ar-guides .ar-guide { transition: none; }
	.ar-page .ar-guides .ar-guide:hover, .ar-page .ar-guides .ar-guide:focus-within { transform: none; }
}