/* R2: approved visual system retained. Open Sans is loaded by each entry page.
   400 = body, 500 = controls/labels, 800 = major headings. */
body[data-approved-home], #planner, #savedDialog,
body[data-approved-home] button,body[data-approved-home] input,body[data-approved-home] select,body[data-approved-home] textarea,
#planner button,#planner input,#planner select,#planner textarea,#savedDialog button {
 font-family:'Open Sans',Arial,sans-serif;
}
body[data-approved-home]{font-weight:400}
body[data-approved-home] .home-intro h1,
body[data-approved-home] .home-experiences>h2,
body[data-approved-home] .community-link h2,
body[data-approved-home] .professionals-section h2,
#planner .cp-title h2,#planner .question-intro h2,
#savedDialog .dialog-head h2{font-weight:800}
body[data-approved-home] .desktop-nav,body[data-approved-home] .saved-button,
body[data-approved-home] .button,body[data-approved-home] .action-card strong,
body[data-approved-home] .path-card h3,
#planner .button,#planner .pick-card strong,#planner .cp-plan-row h3,
#planner .text-button,#planner .refine>summary{font-weight:500}
body[data-approved-home] .saved-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
body[data-approved-home] .saved-button .picks-heart{font-size:27px;line-height:1;color:#658DA5;margin:0;display:inline-block;flex:none;font-weight:400}
#planner .save-search{color:#567f96}
#planner .close-button{width:auto;min-width:78px;min-height:44px;font:500 13px/1.4 'Open Sans',Arial,sans-serif;padding:8px 12px;border:1px solid #dce8e4;border-radius:99px;white-space:nowrap}
#planner .cp-plan-row .cp-row-expert{display:inline-flex;align-items:center;min-height:44px;font-size:11px;line-height:16px;color:#527c93;text-decoration:underline;text-underline-offset:3px;margin-left:8px}
#planner .cp-plan-row .text-button{min-height:44px;padding-top:0}
#planner .cp-expert-note,#planner .cp-styling-help{font-size:12px;line-height:1.7;color:#617d8e;margin:15px 0}
#planner .cp-expert-note a,#planner .cp-styling-help a{color:#426f89;font-weight:500;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
#planner .cp-expert-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:500;color:#527c93;text-decoration:underline;text-underline-offset:3px}
#planner .timing-grid .pick-visual,#planner[data-step="timing"] .pick-photo{display:none}
#planner .cp-panel-copy>strong{font-weight:800}
body[data-approved-home] .date-hero .hero-slide img{width:auto;max-width:139px;max-height:73px;object-fit:contain}
#planner a:focus-visible{outline:3px solid #365f79;outline-offset:3px}
@media(max-width:355px){
 #planner .cp-plan-row .cp-row-expert{margin-left:0;font-size:11px}
 body[data-approved-home] .saved-button{gap:6px;padding-inline:9px}
 body[data-approved-home] .saved-button .picks-heart{font-size:24px}
}
/* Dedicated Professionals page, using the same colours, cards and typography. */
.pro-page{padding-top:28px;padding-bottom:48px}
.pro-hero{position:relative;overflow:hidden;padding:38px;border:1px solid #d8e6df;border-radius:24px;background:linear-gradient(110deg,#edf4f7,#f0f7f2);max-width:100%;margin-bottom:32px}
.pro-hero .pro-botanical{position:absolute;right:0;top:0;max-width:290px;height:auto;opacity:.4;pointer-events:none}
.pro-hero .eyebrow{position:relative;font-weight:500}
.pro-hero h1{position:relative;font-size:42px;line-height:1.15;font-weight:800;letter-spacing:-.035em;max-width:660px;margin:14px 0 20px}
.pro-hero p{font-size:15px;line-height:1.7;max-width:670px;color:#587283}
.pro-hero .button{margin:10px 0;min-height:50px}
.pro-section{margin-top:34px}
.pro-section h2{font-size:27px;line-height:1.3;font-weight:800;color:#36566a}
.pro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.pro-benefit{background:#f7faf8;border:1px solid #dce8e4;border-radius:18px;padding:22px;min-width:0}
.pro-benefit h3{font-size:18px;font-weight:500;color:#36566a}
.pro-benefit p{font-size:13px;line-height:1.7;color:#637e8b;margin:0}
.pro-join{padding:28px;border:1px solid #d9e8df;border-radius:22px;background:#eff7f2;margin-top:28px}
.pro-join h2{font-weight:800;font-size:26px;line-height:1.3}
.pro-join p{font-size:14px;line-height:1.7}
.pro-join .button{margin-top:8px}
.pro-small{font-size:12px!important;color:#6e8795}
.pro-back{display:inline-flex;min-height:44px;align-items:center;color:#527c93;font-size:13px;font-weight:500;margin-bottom:10px}
@media(max-width:760px){
 .pro-page{padding-top:18px;padding-bottom:30px}
 .pro-hero{padding:28px 20px;border-radius:22px}
 .pro-hero h1{font-size:32px}
 .pro-hero p{font-size:14px}
 .pro-grid{grid-template-columns:1fr}
 .pro-benefit{padding:21px}
 .pro-join{padding:24px 20px}
 .pro-section h2{font-size:24px}
}
/* Override legacy first-span sizing so the heart remains a legible control. */
body[data-approved-home] .saved-button>span.picks-heart:first-child{font-size:26px;line-height:1;margin:0;color:#658DA5}
@media(max-width:760px){
 body[data-approved-home] .home-intro h1{font-size:clamp(25px,8vw,32px)}
}
/* One persistent Back control replaces the old Close-plus-Back duplication. */
#planner .cp-back-row{display:none}
#planner .question-top>.text-button{display:none}
#planner .question-top{justify-content:flex-end;min-height:24px}
#planner .cp-progress small,#planner .step-count,#planner .eyebrow,
#planner .result-card h3,#savedDialog h3,#savedDialog .button{font-weight:500}
