/* Readability corrections, scoped to the existing page components. */
.cm-page .cm-section>.cm-kicker,.cm-page .cm-section-heading .cm-kicker,
.cm-page .cm-outcomes article>span,.cm-page .cm-module-number{color:#68512f;font-size:14px}
.cm-page .cm-modules summary small{font-size:14px;line-height:1.65;color:#435a53}
.cm-page .cm-mode-index{font-size:14px;color:#42584a;letter-spacing:.04em}
.cm-page .cm-mode-base del{color:#4a5b4c}
.cm-page .cm-price-explainer p{color:#314e46;font-size:15px;line-height:1.7}
.cm-page .cm-price-explainer p:last-child{font-size:14px}
.cm-page .cm-purchase-kicker,.cm-page .cm-summary>p,.cm-page .cm-purchase-note,
.cm-page .cm-deadline>span,.cm-page .cm-deadline small,.cm-page .cm-preview-small,
.cm-page .cm-gross,.cm-page .cm-config-breakdown small{color:#435343;font-size:14px;line-height:1.65}
.cm-page .cm-promo-label{font-size:14px;letter-spacing:.06em;line-height:1.5}
.cm-page .cm-preview,.cm-page .cm-breadcrumb,.cm-page .cm-source-note{font-size:14px}
.cm-page .cm-learning li,.cm-page .cm-outcomes p,.cm-page .cm-audience p:last-child,
.cm-page .cm-module-body,.cm-page .cm-faq p{font-size:16px;line-height:1.75}
.cm-page .cm-audience .cm-kicker{font-size:14px}
.cm-page .cm-attendance-grid article>span{font-size:14px;color:#fff0ce;letter-spacing:.04em}
.cm-page .cm-legal .cm-kicker,.cm-page .cm-finale .cm-kicker{font-size:14px;color:#ffe0aa}
.cm-page .cm-regulation-source{font-size:14px;color:#edf1e5}
.cm-page .cm-legal p,.cm-page .cm-entry-grid p{font-size:16px;line-height:1.75}
.cm-page .cm-legal-grid a{font-size:14px}
.cm-page .cm-final-offer del{color:#e3eadd}
.cm-page .cm-purchase :is(p,small,legend,label),.cm-page .cm-section :is(p,li,h3,h4){overflow-wrap:break-word}
.cm-page .cm-reveal.cm-visible{animation:none;opacity:1;transform:none}

/* Calendars have their own surface and do not inherit objective-list colors. */
#course-master #calendario-videoconferenza.sf-calendar{margin:28px 0;padding:clamp(18px,3vw,28px);border:1px solid #d5cdb7;border-radius:6px;background:#f8f5eb;color:#173e44;scroll-margin-top:24px;min-width:0}
#course-master #calendario-videoconferenza.sf-calendar :is(p,li,a,strong,h3,h4,time,span){color:#173e44;opacity:1}
#course-master #calendario-videoconferenza.sf-calendar p{margin:0 0 18px;font-size:16px;line-height:1.7}
#course-master #calendario-videoconferenza.sf-calendar p:last-child{margin-bottom:0}
#course-master #calendario-videoconferenza.sf-calendar .cm-kicker{font-size:14px;letter-spacing:.05em;color:#5b482a;line-height:1.6;margin-bottom:14px}
#course-master #calendario-videoconferenza.sf-calendar h3{font-size:clamp(22px,2vw,26px);line-height:1.35;margin:0 0 22px}
#course-master #calendario-videoconferenza.sf-calendar a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
#course-master #calendario-videoconferenza.sf-calendar a:focus-visible{outline-color:#7a4f1d}
.sf-calendar-edition{padding:18px 0;border-top:1px solid #c5cabb;margin:20px 0;min-width:0}
#course-master .sf-calendar-edition h4,.mode-guide .sf-calendar-edition h4{color:#173e44;font-size:20px;line-height:1.4;margin:0 0 12px}
#course-master #calendario-videoconferenza .sf-calendar-month{font-weight:700;margin:16px 0 10px}
.sf-calendar-dates{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:9px}
.sf-calendar-dates li{display:block;margin:0;padding:0;min-width:0;list-style:none}
.sf-calendar-dates time{display:block;min-width:2.4em;padding:5px 9px;background:#e6e9dc;color:#173e44;border:1px solid #aab8a7;border-radius:3px;text-align:center;font-size:18px;line-height:1.6;font-weight:700;font-variant-numeric:tabular-nums}
.sf-calendar-editions{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.sf-calendar-editions li{margin:0;padding:14px 16px;background:#e6e9dc;color:#173e44;border-left:3px solid #95713b;min-width:0}
.sf-calendar-editions li span{display:block;font-size:14px;line-height:1.6;margin-bottom:4px}
.sf-calendar-editions li strong{font-size:18px;line-height:1.6;display:block}
.sf-calendar-editions time{white-space:normal}
.sf-calendar-time strong{display:inline-block;margin-left:5px;font-size:18px}
.mode-guide#calendario-videoconferenza{display:block;max-width:100%;color:#173e44}
.mode-guide#calendario-videoconferenza>p{max-width:75ch}
.mode-guide#calendario-videoconferenza details{border-top:1px solid #aebdaa;padding:18px 0}
.mode-guide#calendario-videoconferenza summary{font-size:18px;font-weight:700;line-height:1.5;cursor:pointer;padding:6px 0}
.mode-guide#calendario-videoconferenza details h3{margin-top:20px;line-height:1.4}

/* Shared public pages: readable auxiliary text and wrapping. */
.shop .shop-lead{color:#354f45}
.shop .shop-kicker{font-size:14px;color:#604b2b;letter-spacing:.07em}
.shop .shop-summary .shop-kicker{color:#ffe0aa}
.shop .shop-brand small,.shop .shop-header nav,.shop .mode-breadcrumb,
.shop .mode-course-list a span,.shop .directory-copy .directory-base,
.shop .directory-copy .directory-saving,.shop .mode-topics span{font-size:14px;line-height:1.6}
.shop .directory-copy p{font-size:16px;line-height:1.65;color:#405840}
.shop .directory-price del,.shop .cart-meta,.shop .checkout-row p{color:#42583f}
.shop :is(main,header) :is(p,li,h1,h2,h3,label,small){overflow-wrap:break-word}
.sf-site-footer .sf-footer-bottom,.sf-site-footer .sf-footer-note{font-size:14px;color:#40535f;line-height:1.65}
@media(max-width:560px){
 .cm-page .cm-learning li{font-size:16px}
 .cm-page .cm-contact-actions a{white-space:normal;overflow-wrap:anywhere}
 #course-master #calendario-videoconferenza.sf-calendar{padding:18px 14px}
 #course-master #calendario-videoconferenza.sf-calendar h3{font-size:22px}
 .sf-calendar-editions li{padding:12px}
 .sf-calendar-time strong{display:block;margin:3px 0 0}
 .sf-calendar-dates{gap:8px}
 .shop .shop-brand{font-size:14px;min-width:0}
}


/* Final browser audit: inherited dark-surface text on pale notes. */
#course-master .cm-risk-note h3,#course-master .cm-risk-note p{color:#173e44}
#course-master .cm-risk-note p{font-size:16px;line-height:1.75}
#course-master .cm-source-note{font-size:14px!important}
#course-master .cm-hero-copy .cm-kicker,#course-master .cm-module-note,
#course-master .cm-hero-link,#course-master .cm-facts span,
#course-master .cm-hero-offer>span,#course-master .cm-hero-offer small,
#course-master .cm-section-nav,#course-master .cm-text-button,
#course-master .cm-saving-badge,#course-master .cm-saving-line,
#course-master .cm-config-breakdown,#course-master .cm-mode-option b,
#course-master .cm-final-offer>span,#course-master .cm-final-offer p,
#course-master .cm-attendance-panel>.cm-kicker{font-size:14px;line-height:1.6}
#course-master .cm-brand>span,#course-master .cm-brand small{font-size:14px}
#course-master .cm-cart b{font-size:14px}
#course-master .cm-mobile-buy small{font-size:14px;color:#3d513f;line-height:1.5}
#course-master .cm-mobile-buy del{font-size:14px;color:#435343}
#course-master .cm-mobile-buy .cm-primary{font-size:14px;line-height:1.4;white-space:normal}
#course-master .cm-mobile-buy>div>div{flex-wrap:wrap}
#course-master .cm-mode-option{min-width:0}
body .sf-site-footer .sf-footer-bottom,body .sf-site-footer .sf-footer-note{font-size:14px;color:#40535f;line-height:1.65}

/* Native category selects must not impose their longest option's width. */
.shop .directory-filters,.shop .directory-filters>label{min-width:0}
.shop .directory-filters :is(input,select){width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.shop .shop-steps,.shop .shop-steps span,.shop .shop-preview,.shop .shop-cart-link b,
.shop .mode-step{font-size:14px;line-height:1.6}
.shop .shop-steps{color:#3d513f}
.shop .shop-note,.shop .shop-empty p{color:#3d513f}

/* Home: retain the approved palette, with readable supporting labels. */
body.home-v5.home-v7 .eyebrow,body.home-v5.home-v7 .brand small,
body.home-v5.home-v7 .entry-label,body.home-v5.home-v7 .entry-catalog small,
body.home-v5.home-v7 .portal small,body.home-v5.home-v7 .portal b,
body.home-v5.home-v7 .course-category,body.home-v5.home-v7 .promo-badge,
body.home-v5.home-v7 .gross-price,body.home-v5.home-v7 .saving-line,
body.home-v5.home-v7 .course-mode-list span,body.home-v5.home-v7 .focus-course-price small,
body.home-v5.home-v7 .focus-course-gross,body.home-v5.home-v7 .hero-offer-kicker,
body.home-v5.home-v7 #hero-promo-label,body.home-v5.home-v7 #hero-promo-date,
body.home-v5.home-v7 #motion-toggle,body.home-v5.home-v7 #media-pause,
body.home-v5.home-v7 .why-points article>span{font-size:14px;line-height:1.6}
body.home-v5.home-v7 .entry-catalog{color:#fffdf5}
body.home-v5.home-v7 .eyebrow.blue,body.home-v5.home-v7 .text-button.blue{color:#294e52}
body.home-v5.home-v7 .course-price del{color:#4b5c67}
body.home-v5.home-v7 .portal b{color:#354e46}
body.home-v5.home-v7 .audience-professional .eyebrow{color:#ffe0aa}
body.home-v5.home-v7 .step>b{color:#164d60}
body.home-v5.home-v7 .how-bottom p{font-size:14px;color:#354f5a;line-height:1.65}
body.home-v5.home-v7 .why-points article>span{color:#addfed}

/* Last audit: small labels and dark panels retain their own foregrounds. */
#course-master .cm-kicker,#course-master .cm-reference-price,
#course-master .cm-mode-discount,#course-master .cm-mode-discount b,
#course-master .cm-mode-breakdown{font-size:14px;line-height:1.6}
#course-master .cm-hero-offer p{font-size:14px!important}
body.home-v5.home-v7 .why-section .eyebrow{color:#ffe0aa}
body.home-v5.home-v7 .entry-catalog :is(span,small){color:#fffdf5}
body.home-v5.home-v7 .brand>span,body.home-v5.home-v7 .cart-toggle b,
body.home-v5.home-v7 .focus-course-meta span,body.home-v5.home-v7 .focus-course-details,
body.home-v5.home-v7 .entry-promo>span,body.home-v5.home-v7 .entry-packages>span,
body.home-v5.home-v7 .entry-packages small,body.home-v5.home-v7 .entry-catalog>span,
body.home-v5.home-v7 .hero-bottom>span,body.home-v5.home-v7 .countdown span,
body.home-v5.home-v7 .promo-filter-label,body.home-v5.home-v7 .promo-tabs button,
body.home-v5.home-v7 .category-tab,body.home-v5.home-v7 .category-tab b,
body.home-v5.home-v7 .commerce-dock b{font-size:14px;line-height:1.6}
body.home-v5.home-v7 .category-tab[aria-pressed=true] b{background:#34584f;color:#fffdf5}

body.home-v5.home-v7 .entry-catalog strong{color:#fffdf5}
body.home-v5.home-v7 .portal small{color:#354e46}

/* 18 October: the featured-course label must not depend on the photo beneath it. */
body.home-v5.home-v7 .hero-offer-kicker{
 background:#173e44;color:#fff4dd;padding:12px 16px;border:1px solid #527075;
 border-radius:4px;display:flex;flex-wrap:wrap;gap:8px 18px;
 align-items:center;justify-content:space-between;line-height:1.6;
 opacity:1;text-shadow:none;min-width:0
}
body.home-v5.home-v7 .hero-offer-kicker>span,
body.home-v5.home-v7 #hero-promo-label,body.home-v5.home-v7 #hero-promo-date{
 color:#fff4dd;font-size:14px;font-weight:650;line-height:1.6;
 opacity:1;white-space:normal;overflow-wrap:break-word;letter-spacing:.025em
}
body.home-v5.home-v7 #hero-promo-price{white-space:normal;line-height:1.3}
body.home-v5.home-v7 #hero-promo-price small,
body.home-v5.home-v7 #hero-promo-gross{font-size:14px;line-height:1.6;color:#173e44;letter-spacing:0}
body.home-v5.home-v7 #hero-promo-gross{display:block;margin:4px 0 8px}
body.home-v5.home-v7 #hero-promo-gross[hidden],
body.home-v5.home-v7 .promo-deadline[hidden]{display:none}

/* Supporting copy remains readable in every home section and search state. */
body.home-v5.home-v7 .hero-suggestions,
body.home-v5.home-v7 .preview-note,
body.home-v5.home-v7 .header-support,
body.home-v5.home-v7 .text-button,
body.home-v5.home-v7 .hero-commerce strong small,
body.home-v5.home-v7 .calculator-inputs label,
body.home-v5.home-v7 .capacity-label,
body.home-v5.home-v7 .category-picture>div>span,
body.home-v5.home-v7 .sort-control,
body.home-v5.home-v7 .audience-links a,
body.home-v5.home-v7 .calculator-package,
body.home-v5.home-v7 .package-tools a,
body.home-v5.home-v7 .hero-suggestions button,
body.home-v5.home-v7 .hero-audience-switch button,
body.home-v5.home-v7 .quick-results-status,
body.home-v5.home-v7 .quick-course small,
body.home-v5.home-v7 .promo-mode-note,
body.home-v5.home-v7 .promo-mode-tabs button,
body.home-v5.home-v7 .promo-result-count,
body.home-v5.home-v7 .small-tag,
body.home-v5.home-v7 .image-duration,
body.home-v5.home-v7 .course-price small,
body.home-v5.home-v7 .package-selector small,
body.home-v5.home-v7 .package-name span,
body.home-v5.home-v7 .package-cost small,
body.home-v5.home-v7 .package-rate small,
body.home-v5.home-v7 .package-calc-link,
body.home-v5.home-v7 .package-cost del:before,
body.home-v5.home-v7 .price-note{font-size:14px;line-height:1.6}
body.home-v5.home-v7 .course-card :is(h3,p,a,button),
body.home-v5.home-v7 .quick-course :is(strong,small,b),
body.home-v5.home-v7 .focus-course :is(h2,p,button),
body.home-v5.home-v7 .hero-commerce>a{min-width:0;overflow-wrap:break-word}
body.home-v5.home-v7 .course-title-link,
body.home-v5.home-v7 .quick-course strong{white-space:normal;max-height:none;-webkit-line-clamp:unset}
body.home-v5.home-v7 .promo-tabs,
body.home-v5.home-v7 .promo-mode-tabs{flex-wrap:wrap}

/* Course templates: small price explanations, mode labels and form feedback. */
#course-master .cm-preview button,
#course-master .cm-mode-comparison article>strong small,
#course-master .cm-mode-comparison article>span:not(.cm-mode-index),
#course-master .cm-mode-comparison button,
#course-master .cm-mode-comparison article>p.cm-mode-saving,
#course-master .cm-summary dl>div,
#course-master .cm-summary .cm-total-saving,
#course-master .cm-error,#course-master .cm-review,
#course-master .cm-review summary,
#course-master .cm-footer p,#course-master .cm-footer strong span,
#course-master .cm-purchase .quote-contacts small{font-size:14px;line-height:1.65}
#course-master .cart-course-savings{font-size:14px!important;line-height:1.65}
#course-master .cm-mode-option{font-size:16px;line-height:1.6;flex-wrap:wrap}
#course-master .cm-breadcrumb{flex-wrap:wrap;row-gap:8px}
#course-master .cm-summary dd{margin-left:0;white-space:normal}
#course-master .cm-review{color:#435343}
body.home-v5.home-v7 .sf-photo-tile>span,
#course-master .sf-photo-tile>span{font-size:14px;line-height:1.5;background:#173e44;color:#fff4dd}

/* Cart, checkout, order, public information and legal pages. */
.shop .payment-status,.shop .checkout-preview-title,
.shop .billing-grid .field-error,.shop .participant-grid .field-error{
 font-size:14px;line-height:1.6
}
.shop .shop-preview{color:#f0e6d3}
.shop .shop-summary .shop-saving{color:#f0e6d3}
.shop .mode-benefits p{font-size:16px;line-height:1.7}
.shop .cart-line,.shop .checkout-row,.shop .payment-card,
.shop .mode-guide,.shop .mode-course-list a{min-width:0}
body :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea){font-size:16px;line-height:1.5}
body :is(input,select,textarea){max-width:100%;box-sizing:border-box}
body :is(main,footer) a[href^="mailto:"]{overflow-wrap:anywhere}
/* Live browser verification: override the older, more specific home rules. */
body.home-v5.home-v7 [data-open-cart] [data-cart-count],
body.home-v5.home-v7 .nav-catalog>span,
body.home-v5.home-v7 .hero-copy>.eyebrow,
body.home-v5.home-v7 .hero-commerce>a>span:last-child,
body.home-v5.home-v7 #reset-filters,
body.home-v5.home-v7 .media-heading .eyebrow,
body.home-v5.home-v7 .media-section #media-pause{font-size:14px;line-height:1.6}
body.home-v5.home-v7 .audience-private .paid-note{font-size:14px!important;line-height:1.6}
@media(max-width:560px){
 body.home-v5.home-v7 .hero-offer-kicker{padding:12px;align-items:flex-start;flex-direction:column;gap:4px}
 body.home-v5.home-v7 .quick-course{min-width:0}
 #course-master .cm-mode-option b{margin-left:0;white-space:normal}
 #course-master .cm-mobile-buy{gap:10px}
 #course-master .cm-mobile-buy .cm-primary{min-width:0;max-width:48%;flex-shrink:0}
 .shop .shop-summary dl>div{flex-wrap:wrap;gap:8px 16px}
}
