/*
Theme Name: RX503
Theme URI: https://rx503.com/
Author: RX503
Description: The approved RX503 homepage design as a standalone WordPress theme, compatible with RX503 Partner Registration v1.4.3.
Version: 1.10.13
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: rx503-theme
*/
body.admin-bar .rx503-home>header{top:32px}
.rx503-home .wp-page-content{min-height:50vh;padding:70px 6%;max-width:1400px;margin:auto}
.rx503-home .wp-page-content>h1{margin-top:0}
.rx503-home .wp-page-content .entry-content{margin:30px 0}
.rx503-home .wp-page-content img{max-width:100%;height:auto}
.rx503-home .wp-page-content .entry-content a:not(.button){text-decoration:underline}
.rx503-home .wp-page-content .entry-content>*{max-width:100%}
@media(max-width:782px){body.admin-bar .rx503-home>header{top:46px}}
@media(max-width:600px){body.admin-bar .rx503-home>header{top:0}.rx503-home .wp-page-content{padding:45px 6%}}
/* Supplied brand asset; crop only its empty padding in the display box. */
.rx503-home .logo{display:inline-flex;align-items:center;flex-shrink:0;letter-spacing:normal;font-size:0}
.rx503-home .rx503-brand-image{position:relative;display:block;width:var(--rx-logo-width,140px);max-width:32vw;height:auto;overflow:hidden}
.rx503-home .rx503-brand-image img{display:block;width:100%;height:auto;object-fit:contain}
.rx503-home .rx503-brand-original{height:auto;aspect-ratio:4.7}
.rx503-home .rx503-brand-original img{position:absolute;width:108%;max-width:none;height:auto;top:50%;left:50%;transform:translate(-50%,-50%)}
.rx503-home .menu svg{display:block;width:24px;height:24px;fill:currentColor}
.rx503-home .drawer-close svg{display:block;width:18px;height:18px;fill:currentColor}
@media(max-width:760px){.rx503-home .rx503-brand-image{max-width:38vw}.rx503-home .drawer-top .rx503-brand-image{max-width:45vw}}

/* Compact sticky navigation, with accessible mobile touch targets. */
.rx503-home>header{transition:height .28s ease,box-shadow .28s ease}
.rx503-home>header .rx503-brand-image{transition:width .28s ease}
.rx503-home>header .register-header{transition:transform .25s,padding .28s ease,background .25s,box-shadow .25s}
.rx503-home>header .cta-label,.rx503-home>header .cta-label small{transition:font-size .28s ease}
.rx503-home>header.is-scrolled{height:70px;box-shadow:0 5px 24px #1723380a}
.rx503-home>header.is-scrolled .rx503-brand-image{width:calc(var(--rx-logo-width,140px) * .82);height:auto}
.rx503-home>header.is-scrolled .rx503-brand-original{height:auto}
.rx503-home>header.is-scrolled .register-header{padding:8px 15px;min-height:44px}
.rx503-home>header.is-scrolled .cta-label{font-size:12px}
.rx503-home>header.is-scrolled .cta-label small{font-size:11px}
/* Registered partner landing page. */
.rx503-home .member-welcome{padding:85px 6% 65px;max-width:1160px;margin:auto;text-align:center}
.rx503-home .member-welcome .eyebrow{justify-content:center;color:var(--blue)}
.rx503-home .member-welcome h1{font-size:clamp(42px,5vw,70px)}
.rx503-home .member-welcome>p{max-width:770px;margin:24px auto 0;line-height:1.9}
.rx503-home .member-content{max-width:1320px;margin:auto;padding:0 6% 85px}
.rx503-home .member-catalog{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:center;padding:45px;background:#f2f5fc;border:1px solid #e1e7f3;border-radius:12px}
.rx503-home .member-cover{background:linear-gradient(145deg,#172338,#273958);color:white;padding:35px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:12px 18px 0 #dce3f3;border-radius:5px}
.rx503-home .member-cover>span{letter-spacing:3px;font-size:13px}
.rx503-home .member-cover strong{font:400 50px/1.12 'Playfair Display',serif}
.rx503-home .member-cover small{color:#cad3e5;font-size:11px;letter-spacing:1.5px}
.rx503-home .member-content h2{font-size:clamp(32px,3.4vw,46px)}
.rx503-home .member-content p{font-size:15px;line-height:1.9;margin:22px 0}
.rx503-home .member-content .eyebrow{color:var(--blue);font-size:11px}
.rx503-home .member-content .button{margin-top:10px;text-align:center}
.rx503-home .member-pdf-note{display:block;color:var(--muted);margin-top:12px;font-size:12px}
.rx503-home .member-next{margin-top:60px;display:grid;grid-template-columns:1.2fr .8fr;gap:8%;padding-top:50px;border-top:1px solid var(--line)}
.rx503-home .member-help{border-left:1px solid var(--line);padding:10px 0 10px 35px}
.rx503-home .member-help h3{font-size:30px}
.rx503-home .member-pending{padding:15px 20px;border:1px solid #d4dcec;border-radius:5px;color:var(--muted);font-size:14px;background:#ffffff80}
.rx503-home .member-guest .actions{justify-content:center;margin-top:30px;flex-wrap:wrap}
@media(max-width:760px){.rx503-home>header.is-scrolled{height:60px}.rx503-home .member-welcome{padding:55px 6% 40px}.rx503-home .member-welcome h1{letter-spacing:-1.5px}.rx503-home .member-catalog{grid-template-columns:1fr;padding:25px;gap:40px}.rx503-home .member-cover{min-height:265px;padding:28px;margin-right:10px}.rx503-home .member-cover strong{font-size:42px}.rx503-home .member-next{grid-template-columns:1fr;gap:35px;margin-top:40px;padding-top:35px}.rx503-home .member-help{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.rx503-home .member-content .button{width:100%;gap:12px}.rx503-home .member-content{padding-bottom:55px}}
@media(prefers-reduced-motion:reduce){.rx503-home>header,.rx503-home>header .rx503-brand-image,.rx503-home>header .register-header,.rx503-home>header .cta-label,.rx503-home>header .cta-label small{transition:none}}

.rx503-home .member-cover em{color:#b8c5ff}

/* Partner dashboard uses its own shell, separate from the marketing header. */
.rx503-dashboard{min-height:100vh;background:#f6f8fc;--sidebar-width:292px}
.rx503-dashboard .dashboard-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;padding:38px 24px 24px;background:#fff;border-right:1px solid var(--line);z-index:30;overflow-y:auto}
.admin-bar .rx503-dashboard .dashboard-sidebar{top:32px}
.rx503-dashboard .dashboard-brand{padding:0 14px 32px}
.rx503-dashboard .dashboard-brand small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:18px}
.rx503-dashboard .dashboard-navigation{flex:1;display:flex;flex-direction:column}
.rx503-dashboard .dashboard-nav{display:flex;flex-direction:column;gap:7px;font-size:13px}
.rx503-dashboard .dashboard-nav a{display:flex;align-items:flex-start;gap:13px;padding:13px 14px;border-radius:7px;line-height:1.6;transition:background .2s,color .2s}
.rx503-dashboard .dashboard-nav a:hover{background:#f3f5fd;color:var(--blue)}
.rx503-dashboard .dashboard-nav a[aria-current=page]{background:#eef0ff;color:var(--blue);font-weight:600}
.rx503-dashboard .dashboard-nav svg{height:20px;width:20px;flex-shrink:0;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rx503-dashboard .dashboard-nav .nav-divider{border-top:1px solid var(--line);margin-top:15px;padding-top:22px;border-radius:0}
.rx503-dashboard .dashboard-extra{list-style:none;margin:8px 0 0;padding:0}
.rx503-dashboard .dashboard-extra a{font-size:13px;padding-left:47px}
.rx503-dashboard .dashboard-user{margin-top:auto;padding:35px 12px 0;display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center}
.rx503-dashboard .dashboard-avatar{width:38px;height:38px;background:#eef0ff;color:var(--blue);border-radius:50%;display:grid;place-items:center;font-weight:600}
.rx503-dashboard .dashboard-user strong{display:block;overflow-wrap:anywhere;font-size:12px;font-weight:500}
.rx503-dashboard .dashboard-user small{font-size:10px;color:var(--muted)}
.rx503-dashboard .dashboard-signout{grid-column:2;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.rx503-dashboard .dashboard-main{margin-left:var(--sidebar-width);min-width:0}
.rx503-dashboard .member-welcome{text-align:left;padding:60px 6% 35px;max-width:1280px}
.rx503-dashboard .member-welcome .eyebrow{justify-content:flex-start;font-size:10px}
.rx503-dashboard .member-welcome h1{font-size:clamp(38px,3.8vw,58px);letter-spacing:-1.8px;margin:20px 0}
.rx503-dashboard .member-welcome>p{max-width:850px;margin:0;font-size:14px;line-height:1.9}
.rx503-dashboard .member-content{max-width:1280px;padding-bottom:45px}
.rx503-dashboard .member-catalog{padding:32px;gap:6%;background:#fff;border-radius:12px;grid-template-columns:.8fr 1.2fr;box-shadow:0 5px 30px #17233803}
.rx503-dashboard .member-cover{min-height:300px;padding:26px;box-shadow:8px 10px 0 #edf0f8}
.rx503-dashboard .member-cover strong{font-size:clamp(30px,3vw,44px)}
.rx503-dashboard .member-cover>span,.rx503-dashboard .member-cover small{font-size:9px;letter-spacing:1.5px}
.rx503-dashboard .member-content h2{font-size:clamp(30px,2.8vw,40px)}
.rx503-dashboard .member-content p{font-size:14px}
.rx503-dashboard .member-next{margin-top:24px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:12px;gap:6%}
.rx503-dashboard .member-help{padding-left:25px}
.rx503-dashboard .member-help h3{font-size:28px}
.rx503-dashboard .dashboard-footer{padding:0 6% 24px;max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}
.rx503-dashboard .dashboard-toggle{display:none}
.rx503-dashboard #catalog-document,.rx503-dashboard #practice-paperwork{scroll-margin-top:24px}
@media(max-width:1100px) and (min-width:761px){.rx503-dashboard{--sidebar-width:250px}.rx503-dashboard .dashboard-sidebar{padding-left:14px;padding-right:14px}.rx503-dashboard .member-catalog{grid-template-columns:1fr}.rx503-dashboard .member-cover{min-height:230px;margin-bottom:24px}.rx503-dashboard .member-next{grid-template-columns:1fr}.rx503-dashboard .member-help{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;margin-top:25px}}
@media(max-width:782px){.admin-bar .rx503-dashboard .dashboard-sidebar{top:46px}}
@media(max-width:760px){.rx503-dashboard .dashboard-sidebar,.admin-bar .rx503-dashboard .dashboard-sidebar{position:relative;inset:auto;width:auto;padding:22px 6%;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.rx503-dashboard .dashboard-brand{padding:0;display:flex;align-items:center;justify-content:space-between}.rx503-dashboard .dashboard-brand small{display:none}.rx503-dashboard .dashboard-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:6px;background:white;padding:10px 12px;min-height:44px;color:var(--ink);font-size:12px}.rx503-dashboard .dashboard-toggle svg{height:18px;width:18px;fill:currentColor}.rx503-dashboard .dashboard-navigation{padding-top:25px}.rx503-dashboard .dashboard-navigation[hidden]{display:none}.rx503-dashboard .dashboard-main{margin-left:0}.rx503-dashboard .member-welcome{padding:38px 6% 28px}.rx503-dashboard .member-catalog{padding:24px;grid-template-columns:1fr;gap:32px}.rx503-dashboard .member-cover{min-height:250px}.rx503-dashboard .member-cover strong{font-size:38px}.rx503-dashboard .member-next{padding:24px}.rx503-dashboard .member-help{padding-left:0}.rx503-dashboard .dashboard-footer{flex-direction:column}.rx503-dashboard .member-guest .actions{justify-content:flex-start}.rx503-dashboard .dashboard-user{padding-top:25px}}
.rx503-dashboard .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rx503-dashboard .dashboard-sidebar .logo .rx503-brand-image{max-width:100%;width:min(var(--rx-logo-width,140px),200px)}
.rx503-dashboard .dashboard-nav{position:static;inset:auto;padding:0;background:none;box-shadow:none}

/* Account drawer shares the public menu's dialog, animation, backdrop and controls. */
@media(max-width:760px){.rx503-dashboard .dashboard-toggle{display:grid;place-items:center;border:0;background:none;border-radius:0;padding:0;min-width:44px;min-height:44px}.rx503-dashboard .dashboard-toggle svg{width:24px;height:24px}.rx503-dashboard .dashboard-drawer .dashboard-navigation{padding:0;min-height:0;overflow:hidden}.rx503-dashboard .dashboard-drawer .dashboard-nav{padding:20px 24px;margin:0;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;gap:7px}.rx503-dashboard .dashboard-drawer .dashboard-nav a{justify-content:flex-start;align-items:flex-start;padding:13px 12px;gap:13px;border:0;font-size:13px}.rx503-dashboard .dashboard-drawer .dashboard-nav a span{color:inherit;font-size:13px}.rx503-dashboard .dashboard-drawer .dashboard-nav .nav-divider{border-top:1px solid var(--line);margin-top:12px;padding-top:20px}.rx503-dashboard .dashboard-drawer .dashboard-user{margin:0;padding:20px 24px max(24px,env(safe-area-inset-bottom));background:#f5f7fc;border-top:1px solid var(--line);flex-shrink:0}.rx503-dashboard .dashboard-drawer .dashboard-signout{min-height:44px;display:flex;align-items:center}.rx503-dashboard .dashboard-drawer .dashboard-extra a{padding-left:45px}}

/* Homepage photography. */
.rx503-home .with-photography{border-top:1px solid var(--line)}
.rx503-home .intro.with-photography{grid-template-columns:1fr 1fr;gap:30px 6%;align-items:center}
.rx503-home .intro.with-photography>.eyebrow{grid-column:1/-1}
.rx503-home .intro.with-photography .intro-bottom{display:block}
.rx503-home .intro.with-photography .intro-bottom p{max-width:none}
.rx503-home .intro.with-photography .intro-bottom a{margin-top:14px}
.rx503-home .comparison-intro-photo,.rx503-home .comparison-card-photo{overflow:hidden;border-radius:7px;background:#f1f3f7}
.rx503-home .comparison-intro-photo img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:45% center}
.rx503-home .with-photography .practice-card{padding:0 0 28px;overflow:hidden}
.rx503-home .comparison-card-photo{border-radius:0;margin-bottom:26px}
.rx503-home .comparison-card-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .6s ease}
.rx503-home .with-photography .practice-card>:not(.comparison-card-photo){margin-left:26px;margin-right:26px}
.rx503-home .with-photography .practice-card p{max-width:none}
.rx503-home .with-photography .practice-card h3{margin-top:24px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.rx503-home .with-photography .practice-card:hover .comparison-card-photo img{transform:scale(1.035)}}
@media(max-width:760px){.rx503-home .intro.with-photography{grid-template-columns:1fr;gap:26px}.rx503-home .comparison-intro-photo img{aspect-ratio:4/3}.rx503-home .with-photography .practice-card h3{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.rx503-home .comparison-card-photo img{transition:none}}

.rx503-dashboard .member-welcome-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 24px}
.rx503-dashboard .member-welcome-top .member-greeting{margin:0;color:var(--blue);font-size:15px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:760px){.rx503-dashboard .member-welcome-top{align-items:flex-start;flex-direction:column;gap:12px}}
