/*
 * For Providers page. Every selector is scoped under .ca-for-providers-page and every class
 * is ca-fp-* (or a WordPress block class), so nothing leaks to or from another template.
 * Block styles are added by the block tasks, one section per block, matching the C board.
 */
.ca-for-providers-page{position:relative}

/* ---------- Shared: label, button, screen-reader text ---------- */
/* Type scale (Chris 10/23, round 11): the My Favorites page header is the standard for the whole
   site (template-parts/my-lists/hero-index.php, measured on castaging.local/my-lists/ at 375, 768
   and 1280, the same at every width): orange label Outfit 18px bold, 28px line, 1.5px tracking,
   uppercase; headings Playfair Display 40px bold, 48px line; description Outfit 16px, 26px line.
   Every orange label, the hero H1 and every section H2, and every section's intro paragraph here
   use those. Colours stay this page's own. */
.ca-for-providers-page .ca-fp-label{margin:0;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;font-size:18px;font-weight:700;line-height:28px;letter-spacing:1.5px;text-transform:uppercase;color:#FFA500}
.ca-for-providers-page .ca-fp-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:54px;padding:0 22px;border:none;border-radius:12px;background:#007a7a;color:#fff;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer}
.ca-for-providers-page .ca-fp-btn:hover{background:#006666;color:#fff}
.ca-for-providers-page .ca-fp-btn:focus-visible{outline:2px solid #FFA500;outline-offset:2px}
.ca-for-providers-page .ca-fp-btn[disabled]{opacity:.6;cursor:default}
.ca-for-providers-page .ca-fp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- ca/fp-hero ---------- */
.ca-for-providers-page .ca-fp-hero{background:linear-gradient(to bottom right,#f3f4f6,#e5e7eb);padding:40px 16px 24px}
/* Page container = the home page's (max-w-screen-xl mx-auto px-4 lg:px-8, measured 10/23): content
   up to 1216px, side padding 16px, 32px from 1024px, so every section's left edge lines up with the
   home page's at every width (32px at 1280, 112px at 1440, 352px at 1920). */
.ca-for-providers-page .ca-fp-hero-inner{max-width:1216px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}
.ca-for-providers-page .ca-fp-hero-copy{display:flex;flex-direction:column;gap:16px;min-width:0}
.ca-for-providers-page .ca-fp-hero-title{margin:0;font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:700;font-size:40px;line-height:48px;color:#1e293b}
.ca-for-providers-page .ca-fp-hero-intro{margin:0;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;font-size:16px;line-height:26px;color:#475569}
.ca-for-providers-page .ca-fp-find{display:flex;flex-direction:column;gap:12px;margin:8px 0 0}
/* The listing picker matches the registration page's claim search (build/css/register.css,
   "Listing search", measured side by side 10/23): a 48px box with a 2px gray border, Outfit
   16px (15px from 640px), a teal border plus a 2px teal ring on focus (its magnifier is now the
   square search button at the box's right end, Chris 10/23);
   the "Not listed?" line under it; the results in one bordered list (floating under the box,
   see below), rows split by hairlines, each row the name in bold over the full address. The
   rules are copied here (scoped) rather than loading register.css, which is mostly that page's
   form and its Tailwind utilities. */
.ca-for-providers-page .ca-fp-find-field{width:100%;min-width:0;height:48px;box-sizing:border-box;display:flex;align-items:center;gap:10px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:0 50px 0 16px;color:#94a3b8;cursor:text;transition:border-color .15s ease}
.ca-for-providers-page .ca-fp-find-field:focus-within{border-color:#009999}
.ca-for-providers-page .ca-fp-find-field:has(.ca-fp-find-input:focus-visible){outline:2px solid #009999;outline-offset:2px}
.ca-for-providers-page .ca-fp-find-icon{flex-shrink:0;display:block}
/* The search button: a 40px square inside the box's right end (over the box's 50px right padding). */
.ca-for-providers-page .ca-fp-find-go{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#007a7a;cursor:pointer;transition:background-color .15s ease}
.ca-for-providers-page .ca-fp-find-go:hover{background:#e6f5f5;color:#006666}
.ca-for-providers-page .ca-fp-find-go:focus-visible{outline:2px solid #FFA500;outline-offset:0}
.ca-for-providers-page .ca-fp-find-go[disabled]{opacity:.6;cursor:default}
.ca-for-providers-page .ca-fp-find-input{flex-grow:1;min-width:0;height:100%;border:none;outline:none;padding:0;margin:0;background:transparent;box-shadow:none;font-family:'Outfit',sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#334155}
.ca-for-providers-page .ca-fp-find-input::placeholder{color:#94a3b8;opacity:1}
/* No browser clear button: the registration box has none (Escape still clears the list). */
.ca-for-providers-page .ca-fp-find-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
/* Claim This Listing, beside the box: disabled (no href, aria-disabled) until an unclaimed listing
   is picked; muted but legible (#475569 on #cbd5e1 is 5.1:1). */
.ca-for-providers-page .ca-fp-find .ca-fp-claim-btn{height:48px}
.ca-for-providers-page .ca-fp-claim-btn[aria-disabled="true"],.ca-for-providers-page .ca-fp-claim-btn[aria-disabled="true"]:hover{background:#cbd5e1;color:#475569;cursor:not-allowed}
/* 6px under the box, as on the registration page (the hero column's gap is 16px). */
.ca-for-providers-page .ca-fp-find-note{margin:-10px 0 0;padding:0;font-family:'Outfit',sans-serif;font-size:13px;line-height:20px;font-weight:400;color:#64748b}
.ca-for-providers-page .ca-fp-find-note a{color:#007a7a;font-weight:600;text-decoration:none}
.ca-for-providers-page .ca-fp-find-note a:hover{color:#FFA500}
.ca-for-providers-page .ca-fp-find-note a:focus-visible{outline:2px solid #FFA500;outline-offset:2px;border-radius:4px}
.ca-for-providers-page .ca-fp-find-box{position:relative;flex-grow:1;min-width:0}
/* The results float directly under the box, at its width, over the "Not listed?" line and what
   follows: showing, changing or closing them never changes the height of anything in the page
   flow, so late results cause no layout shift. About 8 rows tall from 768px (5 on phones), then
   it scrolls inside. Above the cards' own z-10 badges; below the search modal (40), the header
   menus (50) and the chat bubble (1000). */
.ca-for-providers-page .ca-fp-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;box-sizing:border-box;max-height:347px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 12px 24px -6px rgba(15,23,42,.18);font-family:'Outfit',sans-serif;font-size:14px;color:#64748b;text-align:left}
.ca-for-providers-page .ca-fp-results:empty,.ca-for-providers-page .ca-fp-results[hidden]{display:none}
/* The PDF / FAQ links: one centred row at the very bottom of the hero, under both columns. */
.ca-for-providers-page .ca-fp-hero-links{max-width:1216px;margin:56px auto 0;justify-content:center;display:flex;flex-wrap:wrap;gap:12px 24px;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;font-weight:600}
.ca-for-providers-page .ca-fp-hero-links a{color:#007a7a;text-decoration:none}
.ca-for-providers-page .ca-fp-hero-links a:hover{color:#FFA500}
.ca-for-providers-page .ca-fp-pdf,.ca-for-providers-page .ca-fp-faq{display:inline-flex;align-items:center;gap:6px}
.ca-for-providers-page .ca-fp-hero-links a:focus-visible{outline:2px solid #FFA500;outline-offset:2px;border-radius:4px}
.ca-for-providers-page .ca-fp-hero-card{display:flex;flex-direction:column;gap:10px;width:100%;max-width:640px;min-width:0;justify-self:center;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif}
/* Every hero caption (the sample's, "This is how families see your listing today" and "With
   Premium, it could look like this") looks the same: Outfit caps, 17px, near-black (Chris 10/23);
   two lines on phones (measured 320-414px, never three), balanced so no word sits alone. */
.ca-for-providers-page .ca-fp-caption{margin:0;text-align:center;text-wrap:balance;font-size:17px;font-weight:600;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:#006b6b}
/* The slot is server-rendered at the sample card's height (card + its note) at each width
   band (ca-fp-card-slot-reserve, signed-out sample only), so nothing below it moves while the
   page loads. The page script drops that class on the first card swap: a swap is the visitor's
   own action, so the column then takes its natural height with no gap above the action.
   Measured on castaging.local 10/22 (sample card in this slot, fonts loaded); each value is
   the height at the band's narrowest width, the tallest in that band. The card stacks below
   640px (its own sm: breakpoint) and sits side by side above it; two hero columns from 1200px. */
.ca-for-providers-page .ca-fp-card-slot-reserve{min-height:552px}
.ca-for-providers-page .ca-fp-card-slot .ca-prem-preview-card,.ca-for-providers-page .ca-fp-premium-slot .ca-prem-preview-card{border-radius:12px;box-shadow:0 10px 15px -3px rgba(0,0,0,.08)}
.ca-for-providers-page .ca-fp-card-slot .ca-prem-preview-note,.ca-for-providers-page .ca-fp-premium-slot .ca-prem-preview-note{margin:8px 0 0;font-size:12px;line-height:1.5;color:#64748b}
/* A preview, not a result: nothing in the card navigates away (it is also inert). */
.ca-for-providers-page .ca-fp-card-slot a,.ca-for-providers-page .ca-fp-premium-slot a{pointer-events:none}
/* Under the action: the same listing as Premium, then "See Premium options". Rendered hidden and
   empty for signed-out visitors; shown by the page script after a pick of a non-premium listing. */
.ca-for-providers-page .ca-fp-premium{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.ca-for-providers-page .ca-fp-premium[hidden]{display:none}
.ca-for-providers-page .ca-fp-premium-more{margin:0;text-align:center;font-size:16px;font-weight:600;line-height:1.5}
.ca-for-providers-page .ca-fp-premium-link{color:#007a7a;text-decoration:none}
.ca-for-providers-page .ca-fp-premium-link::after{content:"\00a0\2192"}
.ca-for-providers-page .ca-fp-premium-link:hover{color:#FFA500}
.ca-for-providers-page .ca-fp-premium-link:focus-visible{outline:2px solid #FFA500;outline-offset:2px;border-radius:4px}
.ca-for-providers-page .ca-fp-action{font-size:15px;color:#475569}
.ca-for-providers-page .ca-fp-action:empty{display:none}
.ca-for-providers-page .ca-fp-action{display:flex;justify-content:center;text-align:center;line-height:1.5}
/* Written by the page script after a search: the results list, its messages and the action under a picked card. */
.ca-for-providers-page .ca-fp-results-msg,.ca-for-providers-page .ca-fp-action-msg{margin:0;line-height:1.5}
.ca-for-providers-page .ca-fp-results-msg{padding:12px 16px}
.ca-for-providers-page .ca-fp-results-msg a,.ca-for-providers-page .ca-fp-action-msg a{color:#007a7a;font-weight:600;text-decoration:underline}
.ca-for-providers-page .ca-fp-results-msg a:hover,.ca-for-providers-page .ca-fp-action-msg a:hover{color:#006666}
.ca-for-providers-page .ca-fp-results-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;background:#fff}
.ca-for-providers-page .ca-fp-result{margin:0;padding:0}
.ca-for-providers-page .ca-fp-result + .ca-fp-result{border-top:1px solid #e5e7eb}
/* Line 1 the name (and the "Claimed" tag at the right), line 2 the address. */
.ca-for-providers-page .ca-fp-result-btn{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;box-sizing:border-box;width:100%;margin:0;padding:12px 16px;border:0;border-radius:0;background:#fff;color:#1e293b;font-family:'Outfit',sans-serif;font-size:15px;line-height:22px;text-align:left;cursor:pointer;transition:background-color .15s ease}
.ca-for-providers-page .ca-fp-result-btn:hover{background:#f0fbf9}
.ca-for-providers-page .ca-fp-result-btn:focus-visible{outline:2px solid #009999;outline-offset:-2px;background:#f0fbf9}
.ca-for-providers-page .ca-fp-result-name{grid-column:1;font-size:15px;line-height:22px;font-weight:600;color:#1e293b;overflow-wrap:anywhere}
.ca-for-providers-page .ca-fp-result-place{grid-column:1;font-size:13px;line-height:20px;font-weight:400;color:#64748b;overflow-wrap:anywhere}
.ca-for-providers-page .ca-fp-result-tag{grid-column:2;grid-row:1 / span 2;padding:2px 9px;border-radius:999px;background:#e6f5f5;color:#007a7a;font-size:12px;line-height:18px;font-weight:600}
/* "Your listings" (signed-in managers and editors, Chris 10/23): under the search, the hero caption
   style but left-aligned, then the picker's bordered list with its two-line rows. Three rows at
   every width (3 x 68px rows, 2 hairlines, the border: 208px), then it scrolls inside. The selected
   row (the listing the hero shows) is tinted with a teal bar on its left. */
.ca-for-providers-page .ca-fp-mine{display:flex;flex-direction:column;gap:8px;margin-top:8px;min-width:0;font-family:'Outfit',sans-serif}
.ca-for-providers-page .ca-fp-mine-caption{text-align:left}
.ca-for-providers-page .ca-fp-mine-list{list-style:none;margin:0;padding:0;max-height:208px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.ca-for-providers-page .ca-fp-mine-btn[aria-pressed="true"]{background:#e6f5f5;box-shadow:inset 4px 0 0 #009999}
.ca-for-providers-page .ca-fp-mine-btn[aria-pressed="true"]:hover{background:#d9f0f0}
@media (min-width:360px){ .ca-for-providers-page .ca-fp-card-slot-reserve{min-height:512px} }
@media (min-width:414px){ .ca-for-providers-page .ca-fp-card-slot-reserve{min-height:487px} }
@media (min-width:480px){ .ca-for-providers-page .ca-fp-card-slot-reserve{min-height:462px} }
@media (min-width:520px){
  .ca-for-providers-page .ca-fp-find{flex-direction:row}
  .ca-for-providers-page .ca-fp-card-slot-reserve{min-height:444px}
}
@media (min-width:640px){
  .ca-for-providers-page .ca-fp-card-slot-reserve{min-height:303px}
  .ca-for-providers-page .ca-fp-find-input{font-size:15px}
}
@media (min-width:768px){
  .ca-for-providers-page .ca-fp-results{max-height:553px}
  .ca-for-providers-page .ca-fp-hero{padding:56px 16px 28px}
}
@media (min-width:1024px){
  .ca-for-providers-page .ca-fp-hero{padding:64px 32px 32px}
}
/* Two columns only once the card column is wide enough for the card's side-by-side layout
   without its name and address wrapping into a tall, cramped card (~500px and up). The card
   column gets 58% (Chris 10/23, round 14: 682px at 1280+, where a long name such as "Augusta
   Center For Health & Rehabilitation, LLC" fits the Premium card on 2 lines instead of 4); the
   search column's 42% (494px) still holds the box and Claim This Listing on one row. Both columns
   start at the top: the card column grows after a pick (the card today, then its Premium
   preview) and the search column grows with its results, and neither may move the other. The
   sample's reserved height there was re-measured for the wider column: 304px at 1200-1219px
   (636px wide), 279px from 1220px. */
@media (min-width:1200px){
  .ca-for-providers-page .ca-fp-hero-inner{grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:40px;align-items:start}
  .ca-for-providers-page .ca-fp-hero-card{max-width:none}
  .ca-for-providers-page .ca-fp-card-slot-reserve{min-height:304px}
}
@media (min-width:1220px){ .ca-for-providers-page .ca-fp-card-slot-reserve{min-height:279px} }

/* ---------- ca/fp-help ---------- */
.ca-for-providers-page .ca-fp-help{background:#e5e7eb;padding:28px 16px}
.ca-for-providers-page .ca-fp-help-inner{max-width:1216px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.ca-for-providers-page .ca-fp-help-copy{display:flex;flex-direction:column;gap:8px}
.ca-for-providers-page .ca-fp-help-title{margin:0;font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:700;font-size:40px;line-height:48px;color:#1e293b}
.ca-for-providers-page .ca-fp-help-text{margin:0;max-width:700px;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;font-size:16px;line-height:26px;color:#475569}
.ca-for-providers-page .ca-fp-help-closing{margin:0;max-width:700px;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;font-style:italic;line-height:1.6;color:#64748b}
.ca-for-providers-page .ca-fp-help-btn{height:48px;padding:0 28px;flex-shrink:0}
@media (min-width:768px){
  .ca-for-providers-page .ca-fp-help{padding:36px 16px}
  .ca-for-providers-page .ca-fp-help-inner{flex-direction:row;justify-content:space-between;align-items:center;gap:32px}
}

/* ---------- Shared: section frame, heading block, outline button, "more" link ---------- */
/* Section bands: 32px top and bottom on phones, 48px from 768px (was 48 / 72; Chris 10/23 asked
   for about a third less space between sections). The hero's own spacing is separate. */
.ca-for-providers-page .ca-fp-section{padding:32px 16px;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif}
.ca-for-providers-page .ca-fp-section-inner{max-width:1216px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.ca-for-providers-page .ca-fp-section-head{display:flex;flex-direction:column;gap:10px;min-width:0}
.ca-for-providers-page .ca-fp-title{margin:0;font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:700;font-size:40px;line-height:48px;color:#1e293b}
.ca-for-providers-page .ca-fp-intro{margin:0;max-width:680px;font-size:16px;line-height:26px;color:#475569}
.ca-for-providers-page .ca-fp-more{align-self:flex-start;font-size:15px;font-weight:600;color:#007a7a;text-decoration:none}
.ca-for-providers-page .ca-fp-more::after{content:"\00a0\2192"}
.ca-for-providers-page .ca-fp-more:hover{color:#FFA500}
.ca-for-providers-page .ca-fp-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;height:48px;padding:0 22px;border:2px solid #009999;border-radius:12px;background:#fff;color:#007a7a;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer}
.ca-for-providers-page .ca-fp-btn-outline:hover{background:#e6f5f5;color:#006666}
.ca-for-providers-page .ca-fp-btn-outline:focus-visible,.ca-for-providers-page .ca-fp-more:focus-visible{outline:2px solid #FFA500;outline-offset:2px}
@media (min-width:768px){
  .ca-for-providers-page .ca-fp-section{padding:48px 16px}
}

/* ---------- ca/fp-promises ---------- */
.ca-for-providers-page .ca-fp-promises-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.ca-for-providers-page .ca-fp-promise{display:flex;flex-direction:column;gap:10px;box-sizing:border-box;padding:26px;border:2px solid rgba(156,163,175,.4);border-top-color:#009999;border-radius:16px;background:#fff}
.ca-for-providers-page .ca-fp-promise-big{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-size:36px;font-weight:700;line-height:1.1;color:#FFA500}
.ca-for-providers-page .ca-fp-promise-icon{flex-shrink:0;color:#FFA500}
.ca-for-providers-page .ca-fp-promise-title{margin:0;font-size:18px;font-weight:700;line-height:1.3;color:#1e293b}
.ca-for-providers-page .ca-fp-promise-text{margin:0;font-size:15px;line-height:1.55;color:#475569}
@media (min-width:640px){ .ca-for-providers-page .ca-fp-promises-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1024px){ .ca-for-providers-page .ca-fp-promises-grid{grid-template-columns:repeat(4,minmax(0,1fr))} }
/* From 1024px the side padding is 32px, as on the home page (lg:px-8). */
@media (min-width:1024px){
  .ca-for-providers-page .ca-fp-section{padding-left:32px;padding-right:32px}
  .ca-for-providers-page .ca-fp-help{padding-left:32px;padding-right:32px}
}

/* ---------- ca/fp-steps ---------- */
.ca-for-providers-page .ca-fp-steps{background:#e5e7eb}
.ca-for-providers-page .ca-fp-steps-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ca-for-providers-page .ca-fp-steps-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.ca-for-providers-page .ca-fp-step{display:flex;flex-direction:column;gap:12px;box-sizing:border-box;margin:0;padding:28px;border-radius:16px;background:#fff}
.ca-for-providers-page .ca-fp-step-num{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:#009999;color:#fff;font-size:18px;font-weight:700}
.ca-for-providers-page .ca-fp-step-title{margin:0;font-size:20px;font-weight:700;line-height:1.3;color:#1e293b}
.ca-for-providers-page .ca-fp-step-text{margin:0;font-size:15px;line-height:1.6;color:#475569}
@media (min-width:640px){
  .ca-for-providers-page .ca-fp-steps-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px}
  .ca-for-providers-page .ca-fp-btn-outline{flex-shrink:0}
}
@media (min-width:768px){ .ca-for-providers-page .ca-fp-steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* ---------- ca/fp-audiences ---------- */
.ca-for-providers-page .ca-fp-audiences{background:#f8fafc}
.ca-for-providers-page .ca-fp-audiences-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.ca-for-providers-page .ca-fp-audience{display:flex;flex-direction:column;gap:10px;box-sizing:border-box;padding:20px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.ca-for-providers-page .ca-fp-audience-title{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:#1e293b}
/* Core's block library CSS is not loaded on this page, so the bullet list is styled here. */
.ca-for-providers-page .ca-fp-audience ul{display:flex;flex-direction:column;gap:5px;list-style:disc;margin:0;padding:0 0 0 18px;font-size:14px;line-height:1.45;color:#475569}
.ca-for-providers-page .ca-fp-audience li{margin:0;padding:0}
@media (min-width:640px){ .ca-for-providers-page .ca-fp-audiences-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:900px){ .ca-for-providers-page .ca-fp-audiences-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1200px){ .ca-for-providers-page .ca-fp-audiences-grid{grid-template-columns:repeat(5,minmax(0,1fr))} }

/* ---------- Shared: price slots (ca/fp-compare header, ca/fp-price sentence) ----------
   The server renders these EMPTY at their final size; the page script only writes text into them,
   so prices arriving late never move anything. Only the current price is shown (no compare-at
   price, no ribbon). */
.ca-for-providers-page .ca-fp-price{display:inline-flex;flex-direction:column;align-items:center;vertical-align:bottom;line-height:20px;font-variant-numeric:tabular-nums}
/* min-width is sized for the widest price ("$1,499.99") in the page font (measured 10/22 in Outfit, see the task 6 report). */
.ca-for-providers-page .ca-fp-price-now{display:block;box-sizing:border-box;min-width:5.1em;height:20px;line-height:20px;text-align:center;font-weight:700;white-space:nowrap}

/* ---------- ca/fp-price (handbook sentence) ---------- */
.ca-for-providers-page .ca-fp-price-line .ca-fp-price{display:inline-block;vertical-align:baseline}
.ca-for-providers-page .ca-fp-price-line .ca-fp-price-now{display:inline-block;vertical-align:baseline}
.ca-for-providers-page .ca-fp-price-nojs{font-weight:600;color:#007a7a}
/* Filled by the page script: a sentence price takes only its own width. The min-width only held
   the space while loading, and the sentence sits in a closed answer at load, so nothing visibly moves. */
.ca-for-providers-page .ca-fp-price-line .ca-fp-filled{min-width:0}
/* No price to show (request failed or no plans): one "See current pricing" link in the header's
   month slot (the year slot stays blank) and in place of each handbook sentence. In the header it
   is set small enough to stay on one line in the narrowest Premium column, so the header keeps
   its height. */
.ca-for-providers-page .ca-fp-fallback{white-space:normal;font-weight:600;color:#007a7a}
.ca-for-providers-page .ca-fp-prices-fallback .ca-fp-fallback{font-size:12px;white-space:nowrap}

/* ---------- ca/fp-compare ---------- */
/* One 3-column grid at every width (label | Basic | Premium); below 768px the label column simply wraps. */
.ca-for-providers-page .ca-fp-compare-box{overflow:hidden;border:1px solid #e5e7eb;border-radius:16px;background:#fff;font-size:14px}
.ca-for-providers-page .ca-fp-compare-head,.ca-for-providers-page .ca-fp-compare-row{display:grid;grid-template-columns:minmax(0,1fr) 60px 134px}
.ca-for-providers-page .ca-fp-compare-head{background:#f8fafc;border-bottom:1px solid #e5e7eb}
.ca-for-providers-page .ca-fp-compare-head-label{display:flex;align-items:flex-end;padding:14px 12px;font-size:13px;font-weight:600;color:#64748b}
/* Basic and Premium start at the top so "Basic" sits beside "Premium" and "Free" beside the monthly price. */
.ca-for-providers-page .ca-fp-compare-head-basic{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:12px 4px;text-align:center}
/* The Premium cell: the title, then "$99/mo" and "$1,000/yr" (one 20px row each, filled by the page script). */
.ca-for-providers-page .ca-fp-compare-head-premium{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;text-align:center;background:#e6f5f5;font-size:14px;color:#1e293b}
/* Sized for the widest likely price, "$1,499.99/yr", in the header font (measured 10/22, see the fb1 report). */
.ca-for-providers-page .ca-fp-compare-head-premium .ca-fp-price-now{min-width:6.8em}
.ca-for-providers-page .ca-fp-compare-col-title{font-size:15px;font-weight:700;line-height:20px;color:#1e293b}
.ca-for-providers-page .ca-fp-compare-col-sub{font-size:13px;line-height:20px;color:#64748b}
.ca-for-providers-page .ca-fp-compare-nojs{font-size:12px;font-weight:600;color:#007a7a}
.ca-for-providers-page .ca-fp-compare-row{border-bottom:1px solid #f1f5f9;color:#334155}
.ca-for-providers-page .ca-fp-compare-label{padding:10px 12px;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.ca-for-providers-page .ca-fp-compare-cell{display:flex;align-items:center;justify-content:center;padding:10px 4px}
.ca-for-providers-page .ca-fp-compare-cell-premium{background:#f4fbfb}
.ca-for-providers-page .ca-fp-compare-basic-mark,.ca-for-providers-page .ca-fp-compare-premium-mark{display:inline-flex;color:#009999}
.ca-for-providers-page .ca-fp-compare-none{color:#94a3b8}
.ca-for-providers-page .ca-fp-compare-footer{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:16px 12px;background:#f8fafc}
.ca-for-providers-page .ca-fp-compare-footer-text{margin:0;font-size:14px;line-height:1.5;color:#475569}
.ca-for-providers-page .ca-fp-compare-footer-text a{font-weight:600;color:#007a7a}
.ca-for-providers-page .ca-fp-compare-btn{height:46px;padding:0 22px;font-size:15px;flex-shrink:0}
@media (min-width:768px){
  .ca-for-providers-page .ca-fp-compare-box{font-size:15px}
  .ca-for-providers-page .ca-fp-compare-head,.ca-for-providers-page .ca-fp-compare-row{grid-template-columns:minmax(0,3fr) minmax(0,1fr) minmax(160px,1fr)}
  .ca-for-providers-page .ca-fp-compare-head-label{padding:20px 24px;font-size:14px}
  .ca-for-providers-page .ca-fp-compare-head-basic{padding:16px 12px}
  .ca-for-providers-page .ca-fp-compare-head-premium{padding:16px 12px;font-size:15px}
  .ca-for-providers-page .ca-fp-compare-col-title{font-size:18px}
  .ca-for-providers-page .ca-fp-compare-col-sub{font-size:15px}
  .ca-for-providers-page .ca-fp-compare-label{padding:12px 24px;font-size:15px}
  .ca-for-providers-page .ca-fp-compare-cell{padding:12px}
  .ca-for-providers-page .ca-fp-compare-footer{flex-direction:row;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px}
}

/* ---------- ca/fp-handbook ---------- */
/* Core's block library CSS is not loaded on this page, so the headings, questions (native
   <details>), paragraphs and lists the team adds inside the handbook are all styled here. */
.ca-for-providers-page .ca-fp-handbook{padding-bottom:16px}
.ca-for-providers-page .ca-fp-hb-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ca-for-providers-page .ca-fp-openall{height:44px;padding:0 18px;flex-shrink:0}
/* Rendered hidden by the server and shown by the page script (it does nothing without it). */
.ca-for-providers-page .ca-fp-openall[hidden]{display:none}
.ca-for-providers-page .ca-fp-topics{display:flex;flex-wrap:wrap;gap:8px;font-size:14px}
.ca-for-providers-page .ca-fp-topic{display:inline-block;padding:7px 14px;border:1px solid #e2e8f0;border-radius:999px;background:#f1f5f9;color:#334155;line-height:1.3;text-decoration:none}
.ca-for-providers-page .ca-fp-topic:hover{border-color:#009999;color:#007a7a}
.ca-for-providers-page .ca-fp-topic:focus-visible{outline:2px solid #FFA500;outline-offset:2px}
.ca-for-providers-page .ca-fp-hb-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:32px 48px;align-items:start}
.ca-for-providers-page .ca-fp-hb-col{display:flex;flex-direction:column;gap:32px;min-width:0}
.ca-for-providers-page .ca-fp-hb-group{display:flex;flex-direction:column;min-width:0;scroll-margin-top:96px}
.ca-for-providers-page .ca-fp-hb-group-title{margin:0;padding:0 0 8px;border-bottom:2px solid #009999;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.4;color:#007a7a}
/* Closed: a 1px gray line plus 1px of margin. Open: a 2px teal line and no margin, so a question
   is the same height either way and toggling moves nothing but the answer itself. */
.ca-for-providers-page .ca-fp-q{margin:0 0 1px;border-bottom:1px solid #e5e7eb;scroll-margin-top:96px}
.ca-for-providers-page .ca-fp-q[open]{margin-bottom:0;border-bottom:2px solid #009999}
.ca-for-providers-page .ca-fp-q-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;box-sizing:border-box;min-height:54px;padding:14px 10px;border-radius:8px;list-style:none;cursor:pointer;font-size:16px;font-weight:600;line-height:1.4;color:#1e293b}
/* An open question: the row in light teal (#e6f5f5), the answer a lighter teal (#f5fbfb), down to
   its 2px teal line (the warm Premium-panel cream was tried 10/23 and reverted at Chris's call).
   Background and corners only: toggling moves nothing but the answer. */
.ca-for-providers-page .ca-fp-q[open] > .ca-fp-q-summary{background:#e6f5f5;border-radius:8px 8px 0 0}
.ca-for-providers-page .ca-fp-q[open] > .ca-fp-a{background:#f5fbfb;border-radius:0 0 8px 8px}
.ca-for-providers-page .ca-fp-q-summary::-webkit-details-marker{display:none}
.ca-for-providers-page .ca-fp-q-summary::marker{content:""}
.ca-for-providers-page .ca-fp-q-summary:hover{color:#007a7a}
.ca-for-providers-page .ca-fp-q-summary:focus-visible{outline:2px solid #FFA500;outline-offset:2px}
.ca-for-providers-page .ca-fp-q-text{min-width:0;overflow-wrap:anywhere}
.ca-for-providers-page .ca-fp-q-chev{flex-shrink:0;color:#007a7a;transition:transform .2s ease}
.ca-for-providers-page .ca-fp-q[open] > .ca-fp-q-summary .ca-fp-q-chev{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){ .ca-for-providers-page .ca-fp-q-chev{transition:none} }
.ca-for-providers-page .ca-fp-a{display:flex;flex-direction:column;gap:10px;padding:14px 10px 20px;font-size:15px;line-height:1.65;color:#475569;overflow-wrap:anywhere}
.ca-for-providers-page .ca-fp-a p{margin:0}
.ca-for-providers-page .ca-fp-a h3,.ca-for-providers-page .ca-fp-a h4,.ca-for-providers-page .ca-fp-a h5,.ca-for-providers-page .ca-fp-a h6{margin:4px 0 0;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.4;color:#1e293b}
.ca-for-providers-page .ca-fp-a ul,.ca-for-providers-page .ca-fp-a ol{display:flex;flex-direction:column;gap:4px;margin:0;padding:0 0 0 20px}
.ca-for-providers-page .ca-fp-a ul{list-style:disc}
.ca-for-providers-page .ca-fp-a ol{list-style:decimal}
.ca-for-providers-page .ca-fp-a li{margin:0;padding:0}
.ca-for-providers-page .ca-fp-a li > ul,.ca-for-providers-page .ca-fp-a li > ol{margin-top:4px}
.ca-for-providers-page .ca-fp-a strong{color:#1e293b}
.ca-for-providers-page .ca-fp-a a{font-weight:600;color:#007a7a}
.ca-for-providers-page .ca-fp-a a:hover{color:#FFA500}
.ca-for-providers-page .ca-fp-tip{margin:0;padding:10px 14px;border:1px solid #fcd34d;border-radius:10px;background:#fff7e6;color:#7c4a03}
@media (min-width:640px){
  .ca-for-providers-page .ca-fp-hb-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px}
}
@media (min-width:768px){ .ca-for-providers-page .ca-fp-handbook{padding-bottom:28px} }
@media (min-width:1024px){
  .ca-for-providers-page .ca-fp-hb-cols{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
}

/* ---------- ca/fp-glossary ---------- */
.ca-for-providers-page .ca-fp-glossary{padding-top:16px;scroll-margin-top:96px}
.ca-for-providers-page .ca-fp-glossary .ca-fp-section-inner{gap:20px}
.ca-for-providers-page .ca-fp-gloss-title{margin:0;font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-size:40px;font-weight:700;line-height:48px;color:#1e293b}
.ca-for-providers-page .ca-fp-gloss-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:6px 32px;margin:0}
.ca-for-providers-page .ca-fp-term{display:flex;flex-direction:column;gap:3px;padding:8px 0;min-width:0}
.ca-for-providers-page .ca-fp-term-name{margin:0;font-size:15px;font-weight:700;line-height:1.4;color:#1e293b}
.ca-for-providers-page .ca-fp-term-def{margin:0;font-size:14px;line-height:1.5;color:#475569}
@media (min-width:640px){ .ca-for-providers-page .ca-fp-gloss-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:768px){ .ca-for-providers-page .ca-fp-glossary{padding-top:28px} }
@media (min-width:1024px){ .ca-for-providers-page .ca-fp-gloss-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 32px} }
/* One of the signed-in owner's own listings: hide the card's "Claim this listing" link (Chris 10/26). */
.ca-for-providers-page .ca-fp-card-mine a[data-cta="claim"]{display:none}
