/* public-canvas — trust pass (owner §7; supersedes the Oct 5 light-gray cards). LIGHT MODE ONLY, public pages only: the
   account, dashboard and admin layouts never load this file, and every rule is scoped to html[data-aw-theme=light], so dark
   mode and the workspace shells keep their own surfaces. Loaded last on public pages.
   Direction: a white canvas and white content surfaces, separated by whitespace and type. No gray panel fills, no decorative
   box outlines, no nested wells. Real boundaries stay: fields, selects, segmented controls, buttons, chips, focus rings,
   selected/error states, maps and map controls, dialogs, and tiles whose whole box is one link.
   Listing cards are one family (PropertyCard .aw-listing-card on every public row and profile, search result .aw-src): white,
   a hairline, ONE subtle shadow token, a slightly stronger shadow on hover/focus. The legacy card rules read the --aw-card-*
   tokens below (their old values are the fallbacks), so nothing here has to outrank them; the landing promos and the footer
   read --aw-promo-* and --aw-footer-* the same way (home-flow.css, site-quality.css). */
html[data-aw-theme=light] body.pm-public{--pc-rule:#e3e7ec;--aw-footer-bg:#fff;--aw-footer-line:#dce1e8;--aw-promo-bg:#fff;--aw-promo-line:transparent;--aw-card-line:#e6e9ee;--aw-card-line-hover:var(--aw-card-line);--aw-card-radius:8px;--aw-card-shadow:0 1px 2px rgba(16,24,40,.05),0 2px 6px rgba(16,24,40,.05);--aw-card-shadow-hover:0 2px 4px rgba(16,24,40,.07),0 8px 22px rgba(16,24,40,.11);background:#fff!important}
html[data-aw-theme=light]:has(body.pm-public){background:#fff!important}
html[data-aw-theme=light] body.pm-public>main{background:#fff!important}
/* Keyboard focus inside a card lifts it like hover. The photo and text links fill a PropertyCard, whose overflow clipping hides
   their own outward rings (premium-studio/listing-reference offsets), so the card draws the ring itself. The profile grid
   (profile-cards.css) and search cards (.aw-src-body) already draw a visible inset ring, so they don't get a second one. */
html[data-aw-theme=light] body.pm-public :is(.aw-listing-card,.aw-src):focus-within{--aw-card-shadow:var(--aw-card-shadow-hover)}
html[data-aw-theme=light] body.pm-public .aw-listing-card:not(.aw-pf-grid .aw-listing-card):has(>.aw-listing-media>a:focus-visible,>.aw-listing-information:focus-visible){outline:2px solid #0b5cf2;outline-offset:2px}

/* Footer: the tokens above make it white with a full-width top rule; its spacing, content and structure are unchanged. */

/* ===== Landing page ===== */
/* Promotions: copy beside a photo on the canvas, no panel. The copy keeps a gutter only on the photo side so its text lines up
   with the section headings; the photo takes the radius the panel used to clip. */
html[data-aw-theme=light] body.pm-public main .aw-reference-home.aw-hf-home :is(.aw-hf-promo,.aw-hf-advertise){border-radius:0;overflow:visible}
html[data-aw-theme=light] body.pm-public main .aw-reference-home.aw-hf-home .aw-hf-promo-copy{padding:calc(24 * var(--r)) calc(44 * var(--r)) calc(24 * var(--r)) 0}
html[data-aw-theme=light] body.pm-public main .aw-reference-home.aw-hf-home .aw-hf-advertise .aw-hf-promo-copy{padding:calc(24 * var(--r)) 0 calc(24 * var(--r)) calc(44 * var(--r))}
html[data-aw-theme=light] body.pm-public main .aw-reference-home.aw-hf-home .aw-hf-promo-media{border-radius:var(--aw-card-radius)}
/* The seller start inside Direct agent connections: a sub-block under a rule, not a nested panel (its field and button keep their borders). */
html[data-aw-theme=light] body.pm-public main .aw-hf-sell{padding:18px 0 0;border-width:1px 0 0;border-color:var(--pc-rule);border-radius:0;box-shadow:none}

/* ===== Listing page (the white page/card tokens and the accordion/tip fills are set at source in listing-reference.css) ===== */
/* Open sections: no box; content lines up with the photo and summary. The top padding keeps each heading level with the agent
   card's heading in the rail (same border + --lpx-pad-y); the section gap does the separating. */
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx :is(.aw-lpx-card,.aw-lpx-location):not(.aw-lpx-pro){padding:var(--lpx-pad-y) 0 0!important;border-color:transparent!important;border-radius:0!important}
/* The agent card keeps its hairline: it is the one contact module (agent, tour, message, direct contact) and sticks beside the
   open sections, so its edge marks where those actions start and end. White, no shadow. */
/* Features & details: the groups are a divided list of disclosure rows rather than stacked boxes. */
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-accordions{gap:0}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-accordion{border-width:1px 0 0;border-radius:0}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-accordion:last-child{border-bottom-width:1px}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx :is(.aw-lpx-accordion-heading,.aw-lpx-cash-heading) button{padding:0!important}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx :is(.aw-lpx-accordion-heading,.aw-lpx-cash-heading) button:hover{color:var(--lpx-link)!important}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-accordion-panel{padding:6px 0 22px}
/* Payment: the inputs read as a captioned row and cash at closing as one more disclosure row, both on the canvas. */
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-inputs{border:0;border-radius:0}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-inputs-head{padding:0 0 10px;background:none}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-inputs dl>div:first-child{padding-left:0}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-cash{border-width:1px 0;border-radius:0}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-cash-body>div:first-child{padding-left:52px}
/* Tables (listing history, FHFA wider areas and data table): rules between rows, no frame, no shaded head (it stays opaque
   white so the sticky data-table head still covers scrolled rows); the first column lines up with the headings. */
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-table-wrap{border:0;border-radius:0}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-table th{background:var(--lpx-card)!important;font-weight:600!important}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-table :is(th,td):first-child{padding-left:0!important}
/* Commercial listings: "Access & permitted use" takes the schools column beside the map; open like the schools list. */
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-access{padding:0;border-color:transparent;border-radius:0}
/* Nearby-places start and the commute save row: plain rows on the canvas (their buttons and fields keep borders). The FEMA
   flood row, schools column and Documents are styled in listing-schools-docs.css. */
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-cn-start{padding:4px 0 0;border-color:transparent;background:none}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-cn-save{padding:12px 0 0;border-top:1px solid var(--lpx-line);border-radius:0;background:none}
/* Home price trends: the three changes sit on the canvas, divided by rules only. */
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx :is(.aw-mc-stats,.aw-mc-counts){border-color:transparent;border-radius:0}
html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx :is(.aw-mc-stats,.aw-mc-counts)>div:first-child{padding-left:0}
@media (max-width:759px){
 html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-inputs dl>div:nth-child(odd){padding-left:0}
 html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-cash-body>div:first-child,html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-cash-body>div+div{padding-left:0;padding-right:0}
 html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx .aw-lpx-table:not(.aw-mc-table) tr{padding-left:0;padding-right:0}}
@media (max-width:520px){html[data-aw-theme=light] body.pm-public main .aw-reference-property.aw-lp.aw-lpx :is(.aw-mc-stats,.aw-mc-counts)>div{padding-left:0;padding-right:0}}

/* ===== About and Contact: information blocks are columns of type on the canvas. Wider gutters replace the old box padding.
   The quick contact routes stay outlined tiles: each whole tile is one link. ===== */
html[data-aw-theme=light] body.pm-public main :is(.aw-info-pillars li,.aw-info-card,.aw-label-panel,.aw-contact-path,.aw-contact-channel){padding:0;border-color:transparent;border-radius:0;background:#fff}
html[data-aw-theme=light] body.pm-public main :is(.aw-info-pillars ul,.aw-info-grid,.aw-label-compare,.aw-contact-paths){gap:36px 44px}
html[data-aw-theme=light] body.pm-public main .aw-contact-note{padding:0;border-radius:0;background:none}
/* Advertise: the relationships block sits on the canvas and the closing call to action is a ruled band. The "buyer reaches
   out" flow keeps its frame: it is a diagram, and the frame holds its steps together. */
html[data-aw-theme=light] body.pm-public main .aw-marketing-relationships{padding:0;border-radius:0;background:#fff}
html[data-aw-theme=light] body.pm-public main .aw-marketing-cta{padding:34px 0 0;border-width:1px 0 0;border-radius:0;background:#fff}
html[data-aw-theme=light] body.pm-public main .aw-info-page .aw-founder-note{padding:0;border-radius:0;background:#fff}
html[data-aw-theme=light] body.pm-public main .aw-info-page .aw-founder-note p{max-width:72ch}

/* ===== Agent directory: the ZIP prompt and empty state sit on the canvas (the search form and filters keep their frames). ===== */
html[data-aw-theme=light] body.pm-public main :is(.aw-agent-dir-prompt,.aw-agent-dir-empty){padding:0;border-color:transparent;background:#fff}

/* ===== Pricing (public): white canvas; plan cards keep their frames and the selected-plan ring for comparison. ===== */
html[data-aw-theme=light] body.pm-public .aw-pricing-v4{background:#fff}
