/* v1.0.23: local account/onboarding and provider refinement. No storefront/checkout selectors. */
body.fds-portal-v23 { --fds-portal-ink:#302920; --fds-portal-muted:#6d6257; --fds-portal-gold:#f2a100; --fds-portal-line:#e6dace; --fds-portal-soft:#faf7f2; }
.fds-account-shell,.fds-onboarding { box-sizing:border-box; max-width:1240px; margin:clamp(24px,4vw,64px) auto; color:var(--fds-portal-ink,#302920); min-width:0; font-family:inherit; }
.fds-account-shell *,.fds-onboarding *, .fds-action-confirm * { box-sizing:border-box; }
.fds-account-intro,.fds-onboarding>header { margin-bottom:28px; max-width:850px; }
.fds-account-intro h1,.fds-onboarding h1 { font-size:clamp(29px,3.4vw,46px); line-height:1.15; letter-spacing:-.025em; margin:8px 0 16px; overflow-wrap:anywhere; }
.fds-account-shell h2,.fds-onboarding h2 { line-height:1.25; font-size:clamp(22px,2.3vw,29px); margin:0 0 16px; }
.fds-account-shell p,.fds-onboarding p { line-height:1.65; margin:0 0 16px; }
.fds-kicker { font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.10em; color:#815006; }
.fds-account-native,.fds-account-layout,.fds-account-native .woocommerce,.fds-onboarding-panel { min-width:0; }
.fds-account-layout.is-login { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:28px; align-items:start; }
.fds-account-welcome { border:1px solid var(--fds-portal-line); background:linear-gradient(135deg,#fff8e7,#faf7f2); border-radius:22px; overflow:hidden; }
.fds-account-welcome>div { padding:clamp(24px,3vw,42px); }
.fds-account-photo { width:100%; height:250px; object-fit:cover; display:block; }
.fds-account-native .woocommerce:before,.fds-account-native .woocommerce:after { content:none!important; }
.fds-account-layout.is-logged-in .woocommerce { display:grid; grid-template-columns:minmax(185px,240px) minmax(0,1fr); gap:28px; align-items:start; }
.fds-account-native .woocommerce-MyAccount-navigation,.fds-account-native .woocommerce-MyAccount-content { width:auto!important; float:none!important; min-width:0; }
.fds-account-native .woocommerce-MyAccount-navigation { border:1px solid var(--fds-portal-line); border-radius:18px; padding:12px; background:var(--fds-portal-soft); }
.fds-account-native .woocommerce-MyAccount-navigation ul { list-style:none!important; margin:0!important; padding:0!important; }
.fds-account-native .woocommerce-MyAccount-navigation li { list-style:none!important; margin:3px 0!important; padding:0!important; }
.fds-account-native .woocommerce-MyAccount-navigation a { display:flex; align-items:center; min-height:46px; padding:11px 14px; border-radius:10px; text-decoration:none; color:var(--fds-portal-ink)!important; font-size:15px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.fds-account-native .woocommerce-MyAccount-navigation li.is-active a { background:#fff1ce; box-shadow:inset 3px 0 #e39700; }
.fds-account-native .woocommerce-MyAccount-navigation a:hover { background:#fff; }
.fds-account-native .woocommerce-MyAccount-content,.fds-account-layout.is-login .fds-account-native,.fds-onboarding-panel { border:1px solid var(--fds-portal-line); border-radius:22px; background:#fff; padding:clamp(22px,3vw,38px); box-shadow:0 10px 35px rgba(57,40,17,.04); }
.fds-account-greeting { margin-bottom:25px; padding-bottom:14px; border-bottom:1px solid var(--fds-portal-line); }
.fds-account-native .fds-provider-account-card { margin:20px 0 0; padding:24px; }
.fds-account-native .woocommerce form.login,.fds-account-native .woocommerce form.register { border:0; margin:0; padding:0; }
.fds-account-native .woocommerce .col2-set,.fds-account-native .woocommerce .col2-set .col-1,.fds-account-native .woocommerce .col2-set .col-2 { width:100%; float:none; }
.fds-account-native .woocommerce .col2-set .col-2 { margin-top:30px; padding-top:24px; border-top:1px solid var(--fds-portal-line); }
.fds-account-native form label,.fds-application-form label { display:block; font-size:15px; font-weight:650; line-height:1.5; margin-bottom:7px; color:var(--fds-portal-ink); }
.fds-account-native .woocommerce form .form-row { padding:0; margin:0 0 20px; }
.fds-account-native input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),.fds-account-native select,.fds-account-native textarea,.fds-application-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.fds-application-form textarea { width:100%!important; max-width:100%; min-height:46px; padding:12px 14px!important; border:1px solid #cdbfac!important; border-radius:9px!important; background:#fff!important; color:#302920!important; font-size:16px!important; line-height:1.4; box-shadow:none; }
.fds-account-native input[readonly],.fds-application-form input[readonly] { background:#f7f4ef!important; }
.fds-account-native .woocommerce-Button,.fds-account-native button.button,.fds-account-native a.button,.fds-portal-button,.fds-application-form button,.fds-action-confirm button,.fds-onboarding-panel button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 20px!important; border:1px solid #da9100!important; border-radius:9px!important; background:#f2a100!important; color:#251c0c!important; line-height:1.35!important; font-family:inherit; font-weight:700; font-size:15px!important; text-decoration:none; cursor:pointer; text-align:center; white-space:normal; box-shadow:none; }
.fds-account-native button.button:after,.fds-account-native a.button:after { content:none!important; }
.fds-account-native a,.fds-onboarding a { color:#795011; text-underline-offset:3px; }
.fds-account-native .woocommerce-password-strength { padding:8px; border-radius:6px; margin-top:8px; }
.fds-account-native .woocommerce-error,.fds-account-native .woocommerce-info,.fds-account-native .woocommerce-message { grid-column:1/-1; padding:18px 20px!important; margin-bottom:20px; border-radius:10px; background:#fbf7ee; color:#342b1f!important; border-top:3px solid #b88220; list-style-position:inside; }
.fds-account-native .woocommerce-error:before,.fds-account-native .woocommerce-message:before,.fds-account-native .woocommerce-info:before { display:none; }
.fds-account-native .woocommerce table.shop_table { border-collapse:collapse; width:100%; }
.fds-account-native .woocommerce table.shop_table th,.fds-account-native .woocommerce table.shop_table td { padding:12px 10px; overflow-wrap:anywhere; }
.fds-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:20px; }
.fds-application-form input,.fds-application-form textarea { margin-top:7px; font-weight:400; }
.fds-check { display:flex!important; align-items:flex-start; gap:10px; margin:20px 0!important; font-weight:400!important; line-height:1.55; }
.fds-check input[type=checkbox],.fds-account-native input[type=checkbox] { width:20px!important; height:20px!important; flex:0 0 20px; margin:2px 0 0; accent-color:#a56a00; }
.fds-small { color:var(--fds-portal-muted,#6d6257); font-size:13px; line-height:1.55; }
.fds-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.fds-portal-notice { background:#edf7f0; border:1px solid #a5cbb1; border-radius:12px; padding:18px 20px; line-height:1.6; margin:0 0 24px; color:#19492c; }
.fds-portal-notice.is-error { color:#7b2420; background:#fff3f1; border-color:#d0aaa5; }
.fds-action-confirm h2 { font-size:26px; line-height:1.3; }
.fds-action-confirm p { line-height:1.6; }
.fds-lifecycle-links { display:flex; flex-wrap:wrap; gap:6px 14px; padding-top:10px; }
.fds-lifecycle-links a,.fds-lifecycle-menu a,.fds-explicit-edit { display:inline-flex; align-items:center; min-height:44px; padding:6px 9px; font-size:13px; font-weight:600; color:#68430b!important; text-decoration:underline; text-underline-offset:3px; }
.fds-lifecycle-menu { display:flex; justify-content:flex-end; margin-bottom:16px; }
.fds-provider-portal .event-categories { display:none!important; } /* Kept in form, not disabled or emptied. */
.fds-provider-portal .fds-date-note { margin:6px 0 12px; color:#5c5247; font-size:13px; }
.fds-provider-portal .fds-advanced-time { margin:16px 0 24px; border:1px solid #e2d4c1; padding:12px 16px; border-radius:10px; }
.fds-provider-portal .fds-advanced-time summary { min-height:44px; display:list-item; cursor:pointer; font-weight:650; padding-block:10px; }
.fds-provider-portal .fds-submit-complete { margin:20px 0; padding:18px; background:#faf7f1; border-radius:10px; display:flex; flex-wrap:wrap; gap:12px; }
.fds-provider-portal .fds-submit-complete a { min-height:46px; display:inline-flex; align-items:center; padding:10px 16px; border:1px solid #d1b78c; border-radius:8px; font-weight:650; color:#372913; }
.fds-provider-portal .fds-provider-status-panel { scroll-margin-top:150px; }
.fds-portal-v23 :is(.fds-account-shell,.fds-onboarding,.fds-provider-portal) :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #805500!important; outline-offset:3px!important; }
.fds-portal-v23 .flatpickr-calendar { max-width:calc(100vw - 24px); }
.fds-portal-v23 #main-content :is(input,select,textarea,button,summary,a) { scroll-margin-top:145px; }
body.fds-asanam-account-page #main-content { background:linear-gradient(125deg,#fcf9f3,#fff 60%); }
body.fds-asanam-account-page #main-content .container { max-width:1380px!important; }
body.fds-asanam-account-page .fds-account-native .woocommerce .woocommerce-MyAccount-content>p { line-height:1.65; }
@media(max-width:900px) {
 .fds-account-layout.is-login { grid-template-columns:minmax(0,1fr); }
 .fds-account-layout.is-logged-in .woocommerce { grid-template-columns:minmax(0,1fr); gap:20px; }
 .fds-account-photo { display:none; }
 .fds-account-welcome>div { padding:24px; }
 .fds-account-welcome h2 { font-size:25px; }
 .fds-account-native .woocommerce-MyAccount-navigation ul { display:flex; flex-wrap:wrap; gap:3px; }
 .fds-account-native .woocommerce-MyAccount-navigation a { padding:10px 12px; }
 .fds-account-shell { margin-top:24px; }
}
@media(max-width:600px) {
 .fds-field-grid { grid-template-columns:minmax(0,1fr); gap:15px; }
 .fds-account-native .woocommerce-MyAccount-content,.fds-account-layout.is-login .fds-account-native,.fds-onboarding-panel { padding:20px 16px; border-radius:15px; }
 .fds-account-native .fds-provider-account-card { padding:18px 14px; }
 .fds-account-native .woocommerce form .form-row-first,.fds-account-native .woocommerce form .form-row-last { width:100%; float:none; }
 .fds-account-welcome .fds-small { margin-bottom:0; }
 .fds-account-welcome>div { padding:20px; }
 .fds-account-shell h1,.fds-onboarding h1 { font-size:29px; }
 .fds-account-intro { margin-bottom:20px; }
 .fds-application-form button,.fds-action-confirm button { width:100%; }
 .fds-provider-portal .fds-lifecycle-links { display:flex; flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .fds-account-shell *, .fds-onboarding * { scroll-behavior:auto!important; transition:none!important; } }

.fds-provider-portal form[hidden],.fds-provider-portal aside[hidden] { display:none!important; }

/* v1.0.26: reviewed account/provider scope only. No checkout/storefront/global title overrides. */
body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce .woocommerce-info,
body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce .woocommerce-message,
body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce .woocommerce-error {
 color:#302920!important; background:#faf6ed!important; background-image:none!important;
 border:1px solid #d8c9ae!important; border-inline-start:4px solid #95600e!important;
 box-shadow:none!important; line-height:1.65!important; font-size:16px!important;
}
body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce .woocommerce-message { background:#eef7f0!important; color:#234832!important; border-color:#a9c7b2!important; }
body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce .woocommerce-error { background:#fff3f1!important; color:#792d24!important; border-color:#cca39c!important; }
body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) :is(p,li,strong,span) { color:inherit!important; background:transparent!important; }
body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a:not(.button) { color:inherit!important; text-decoration:underline!important; }
body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce .woocommerce-MyAccount-content :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { display:flow-root; }
body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a.button { margin:4px 0 10px 12px; }
.fds-account-greeting h2 { color:#29251f; font-weight:700; }
.fds-account-native .fds-provider-account-card { margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.fds-account-native .fds-provider-account-card h2 { font-size:24px; margin-bottom:12px; }
.fds-account-native .fds-provider-account-card .fds-provider-nav { gap:10px; }
.fds-account-menu-toggle { display:none; }
.fds-account-identifier { padding:14px 0; margin:16px 0; border-top:1px solid #e6dace; }
.fds-account-identifier summary { cursor:pointer; min-height:44px; padding:10px 0; font-weight:600; }
.fds-account-identifier code { overflow-wrap:anywhere; }
body.fds-portal-v23 .fds-provider-content .fds-provider-event-table td a.row-title,
body.fds-portal-v23 .fds-provider-content .fds-provider-event-table td:first-child>a { color:#62410d!important; }
body.fds-portal-v23 .fds-provider-content :is(.subsubsub,.fds-lifecycle-menu) a { color:#62410d!important; min-height:44px; display:inline-flex; align-items:center; padding:10px 13px; border:1px solid #d9c8ae; border-radius:9px; text-decoration:none; line-height:1.4; font-size:14px; }
body.fds-portal-v23 .fds-provider-content :is(.subsubsub,.fds-lifecycle-menu) a[aria-current=page] { background:#fff0c9; border-color:#b57c19; font-weight:700; }
body.fds-portal-v23 .fds-provider-content .fds-lifecycle-menu { justify-content:flex-start; flex-wrap:wrap; gap:8px; }
body.fds-portal-v23 .fds-provider-content .fds-lifecycle-menu[hidden] { display:none!important; }
body.fds-portal-v23 .fds-provider-content .fds-lifecycle-links { gap:8px; }
body.fds-portal-v23 .fds-provider-content :is(.fds-lifecycle-links a,.fds-entry-action,.fds-explicit-edit,.fds-entry-pagination a) {
 display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 13px;
 border:1px solid #d9c8ae; border-radius:8px; background:#fff; color:#62410d!important;
 text-decoration:none; font-size:14px; line-height:1.4; font-weight:650; max-width:100%; white-space:normal;
}
body.fds-portal-v23 .fds-provider-content :is(.fds-explicit-edit,.fds-entry-action.is-primary) { background:#fff4dc; border-color:#c99436; color:#48310f!important; }
body.fds-portal-v23 .fds-provider-content :is(.fds-lifecycle-links a,.fds-entry-action,.fds-entry-pagination a):hover { background:#fff1d0; text-decoration:underline; }
.fds-provider-content .fds-provider-event-table td.fds-empty-cell { padding-inline:0; width:0; }
.fds-provider-content .fds-provider-event-table td.fds-empty-cell::before { content:none!important; }
.fds-provider-content .asanam-focus-groups { max-height:none; overflow:visible; }
.fds-provider-content .fds-classification-hint { font-size:14px; line-height:1.5; color:#655b50; margin:8px 0; }
.fds-provider-content .fds-classification-hint.is-warning { color:#80390d; }
.fds-provider-content .asanam-focus-group.has-mismatch { border:2px solid #bc8034; }
.fds-provider-content .fds-provider-heading + .fds-provider-panel { margin-top:0; }
.fds-provider-portal .fds-repeated-intro { display:none!important; }
.fds-provider-heading h1 { margin-bottom:12px; }
.fds-provider-content .fds-own-entries { list-style:none; margin:20px 0; padding:0; display:grid; gap:16px; }
.fds-provider-content .fds-own-entries>li { list-style:none; padding:20px; border:1px solid #e6dace; border-radius:14px; background:#fffcf6; min-width:0; overflow-wrap:anywhere; }
.fds-provider-content .fds-own-entries h3 { font-size:21px; margin:12px 0 8px; }
.fds-provider-content .fds-own-entries p { margin:6px 0 14px; }
.fds-entry-pagination { display:flex; gap:10px; flex-wrap:wrap; }
.fds-provider-content .fds-empty-state { padding:24px; background:#fbf8f2; border:1px solid #e6dace; border-radius:14px; margin:20px 0; }
.fds-provider-content .fds-empty-state h3 { margin-top:0; }
.fds-provider-content .fds-action-confirm .fds-small { font-size:14px; }
.fds-provider-content .fds-action-confirm form>a { min-height:44px; display:inline-flex; align-items:center; padding:10px 14px; }
/* Main content joins the footer without an empty dark gap. Do not hide any footer module. */
body.fds-portal-v23 #main-content { margin-bottom:0!important; padding-bottom:24px; }
body.fds-portal-v23 #main-content>.container { padding-bottom:0!important; }
body.fds-portal-v23 .fds-account-shell,body.fds-portal-v23 .fds-onboarding,body.fds-portal-v23 .fds-provider-portal { margin-bottom:24px; }
body.fds-portal-v23 :is(.fds-account-shell,.fds-provider-portal,.fds-onboarding) :is(a,button,input,select,textarea,summary) { scroll-margin-top:calc(var(--fds-asanam-document-header-offset,130px) + 18px); }
@media(max-width:900px){
 .fds-account-native .woocommerce-MyAccount-navigation.fds-menu-enhanced { padding:8px; }
 .fds-account-menu-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:48px; padding:10px 14px; border:0; border-radius:10px; background:#fff1ce; color:#302920; font-family:inherit; font-weight:600; font-size:15px; line-height:1.4; text-align:left; cursor:pointer; }
 .fds-account-menu-toggle::after { content:'＋'; font-size:21px; flex:none; }
 .is-open>.fds-account-menu-toggle::after { content:'−'; }
 .fds-account-native .fds-menu-enhanced:not(.is-open)>ul { display:none!important; }
 .fds-account-native .fds-menu-enhanced.is-open>ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin-top:8px!important; }
 .fds-account-native .woocommerce-MyAccount-navigation a { min-height:46px; font-size:14px; }
 .fds-account-layout.is-login>.fds-account-native { order:-1; }
}
@media(max-width:680px){
 .fds-provider-content .fds-provider-event-table td.fds-empty-cell { display:none!important; }
 .fds-provider-content .fds-provider-event-table tr { padding:16px; }
 .fds-provider-content .fds-provider-event-table td { padding:7px 0; }
 .fds-provider-content .fds-provider-event-table td:first-child { padding-bottom:10px; }
 .fds-provider-content .fds-lifecycle-links a { flex:0 1 auto; }
 .fds-provider-toolbar { gap:12px; }
 .fds-provider-toolbar .fds-provider-eyebrow { font-size:11px; }
 .fds-provider-toolbar .fds-provider-account-label { font-size:13px; }
 .fds-provider-content .fds-own-entries>li { padding:16px; }
 body.fds-portal-v23 :is(#page-container #main-content .fds-account-shell,#main-content .fds-account-shell,.fds-account-shell) .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a.button { float:none!important; margin:4px 0 12px; display:flex; }
}
