/* Shared page system: presentation only, native forms and Woo hooks remain. */
body{--es-action:var(--ecg-palette-primary,#174ea6);--es-text:var(--ecg-palette-ink,#183454);--es-line:#dce6f2;--es-soft:#f1f7ff;background:var(--ecg-palette-background,#f8fbff);color:var(--es-text)}
body{display:flex;flex-direction:column;min-height:100vh}
.site-header,.site-footer{flex-shrink:0}
.site-footer{margin-top:auto}
.site-header .container,.site-footer .container{width:100%}
.brand{min-width:0;max-width:360px}.brand>span:last-child{min-width:0}
.brand small{max-width:290px;line-height:1.6;font-size:11px}
.header-inner{padding-top:12px;padding-bottom:12px}
.es-site-main{width:100%;max-width:1200px;margin:32px auto 48px;padding:0 20px;flex:1;min-width:0}
.es-reading-page{max-width:940px}
.es-surface{background:#fff;border:1px solid var(--es-line);border-radius:16px;padding:clamp(18px,3vw,32px);min-width:0;overflow-wrap:anywhere;margin-bottom:24px}
.es-page-heading h1{font-size:clamp(26px,3.4vw,38px);line-height:1.45;color:var(--es-text);margin:0 0 18px}
.es-page-heading{border-top:4px solid var(--ecg-palette-brand,#38b6ff)}
.es-page-heading .search-form{box-shadow:none;border:1px solid var(--es-line)}
.es-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px;color:#5a708b;font-size:13px;overflow-wrap:anywhere}
.es-breadcrumb a{color:var(--es-action)}
.es-rich-content{font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.es-rich-content :where(h2,h3,h4){color:var(--es-text);line-height:1.5;margin:1.5em 0 .6em}
.es-rich-content p{margin:0 0 1.2em}
.es-rich-content img,.es-rich-content video,.es-rich-content iframe{max-width:100%}
.es-rich-content img{height:auto;border-radius:10px}
.es-rich-content table{border-collapse:collapse;max-width:100%;width:100%;font-size:14px}
.es-rich-content th,.es-rich-content td{padding:12px;border:1px solid var(--es-line);overflow-wrap:anywhere}
.es-rich-content th{background:var(--es-soft);text-align:left}
.es-rich-content .wp-block-table{overflow:auto}
.es-rich-content blockquote{border-left:4px solid var(--ecg-palette-brand,#38b6ff);background:var(--es-soft);padding:16px 20px;margin:24px 0}
.es-rich-content pre{max-width:100%;overflow:auto;padding:16px;background:#f0f4f8;border-radius:9px}
.es-rich-content a{text-decoration:underline;text-underline-offset:3px}
.es-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}
.es-post-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.es-post-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.es-post-copy{padding:24px}.es-post-copy h2{font-size:21px;line-height:1.6;margin:0 0 12px}
.es-post-copy p{font-size:14px;color:#56708b;line-height:1.8}
.es-text-link{font-weight:650}
.es-empty{text-align:center;padding:clamp(24px,5vw,60px)}
.es-empty .search-form{margin:24px auto}
.es-empty h1,.es-empty h2{color:var(--es-text)}
.es-eyebrow{color:var(--es-action);font-size:12px;font-weight:700;letter-spacing:1px}
.lesson-layout{width:100%;max-width:1040px;margin:0 auto 40px}
.lesson-article .lesson-body{font-size:16px;line-height:1.95;overflow-wrap:anywhere}
.lesson-body :where(table){display:block;max-width:100%;overflow:auto;border-collapse:collapse}
.lesson-body :where(th,td){border:1px solid var(--es-line);padding:12px}
.lesson-body :where(th){background:var(--es-soft)}
.lesson-body :where(pre){max-width:100%;overflow:auto}
.lesson-body :where(iframe,video){max-width:100%}
.lesson-body :where(h2,h3){line-height:1.6;color:var(--es-text)}
body .ecg-wrap{width:100%;max-width:1200px;padding:32px 20px 48px;flex:1}
body .ecg-account-page{width:calc(100% - 40px);max-width:1160px;margin:28px auto 40px}
body .ecg-entry{width:calc(100% - 40px);max-width:1160px;margin:32px auto 48px;flex:1;min-width:0}
body .ecg-entry>section,body .ecg-entry>aside{min-width:0}
body .ecg-entry input,body .ecg-entry select{max-width:100%;min-width:0}
body .ecg-commerce-account .woocommerce .woocommerce-MyAccount-content{padding:24px}
.es-commerce-page .entry{margin:0}
.es-commerce-page .es-page-heading{border:0}
.es-commerce-page .es-rich-content{font-size:15px}
body :where(.woocommerce,.wc-block-cart,.wc-block-checkout){font-family:inherit;color:var(--es-text);line-height:1.7}
body .woocommerce :where(input.input-text,textarea,select){font:inherit;max-width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #c8d7e9;border-radius:8px;background:#fff;color:var(--es-text);box-shadow:none}
body .woocommerce input[type=checkbox],body .woocommerce input[type=radio]{accent-color:var(--es-action)}
body .woocommerce :where(a.button,button.button,input.button),body .woocommerce #respond input#submit{background:var(--es-action);color:var(--ecg-palette-primary-text,#fff);border:1px solid var(--es-action);border-radius:8px;font:600 14px/1.5 system-ui;padding:11px 18px;min-height:44px;cursor:pointer;text-decoration:none}
body .woocommerce :where(a.button,button.button,input.button):hover{background:var(--es-action);color:var(--ecg-palette-primary-text,#fff);filter:brightness(.93)}
body .woocommerce button.button:disabled{opacity:.5}
body .woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0;margin:24px 0;clear:both}
body .woocommerce ul.products::before,body .woocommerce ul.products::after{display:none}
body .woocommerce ul.products li.product{width:auto!important;float:none;margin:0!important;border:1px solid var(--es-line);border-radius:14px;padding:16px;display:flex;flex-direction:column;min-width:0}
body .woocommerce ul.products li.product a img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:9px;background:#f8fafc;margin-bottom:16px}
body .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:18px;color:var(--es-text);line-height:1.6}
body .woocommerce ul.products li.product .price{font-size:16px;font-weight:650;color:var(--es-action)}
body .woocommerce ul.products li.product .button{align-self:start;margin-top:auto}
body .woocommerce .woocommerce-ordering{max-width:100%}
body .woocommerce :where(.woocommerce-info,.woocommerce-message,.woocommerce-error){background:var(--es-soft);color:var(--es-text);border-radius:10px;box-shadow:none;font-size:14px;overflow-wrap:anywhere}
body .woocommerce table.shop_table{border:1px solid var(--es-line);border-radius:12px;border-collapse:separate;background:#fff;width:100%;font-size:14px}
body .woocommerce table.shop_table :where(th,td){padding:12px;border-color:var(--es-line)}
body .woocommerce table.shop_table th{background:var(--es-soft)}
body .woocommerce .cart-collaterals .cart_totals{background:var(--es-soft);padding:24px;border-radius:14px}
body .woocommerce .col2-set{display:flex;gap:24px}
body .woocommerce .col2-set :where(.col-1,.col-2){float:none;width:calc(50% - 12px);min-width:0}
body .woocommerce fieldset{min-width:0}
body .woocommerce form :where(.form-row-first,.form-row-last){max-width:100%}
body .woocommerce #payment{background:var(--es-soft);border-radius:12px}
body .woocommerce .woocommerce-checkout-review-order{margin-bottom:20px}
body .woocommerce div.product .product_title{font-size:clamp(26px,3vw,36px);line-height:1.4;color:var(--es-text)}
body .woocommerce div.product p.price{color:var(--es-action)}
body .woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--es-soft);border-color:var(--es-line)}
body .woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;border-bottom-color:#fff}
body .woocommerce span.onsale{background:var(--es-action);color:var(--ecg-palette-primary-text,#fff)}
body .woocommerce nav.woocommerce-pagination ul{border:0}
body .woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 3px}
body .woocommerce nav.woocommerce-pagination ul li :where(a,span){border-radius:7px;padding:10px 14px;background:var(--es-soft);color:var(--es-action)}
body .woocommerce nav.woocommerce-pagination ul li .current{background:var(--es-action);color:var(--ecg-palette-primary-text,#fff)}
body .wc-block-components-button:not(.is-link){background:var(--es-action);color:var(--ecg-palette-primary-text,#fff);border-radius:8px}
body .wc-block-components-text-input input{border-color:#c8d7e9!important;border-radius:8px!important}
body .search-form button{background:var(--es-action);color:var(--ecg-palette-primary-text,#fff)}
body :where(input,select,textarea,button,a):focus-visible{outline:3px solid var(--ecg-palette-brand,#38b6ff);outline-offset:3px}
@media(max-width:960px){.header-inner{gap:15px}.brand small{max-width:230px}.es-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav{top:100%}}
@media(max-width:700px){
.es-site-main{margin:20px auto 32px;padding:0 14px}.es-surface{padding:18px;border-radius:13px}
.es-post-grid{grid-template-columns:1fr;gap:16px}.es-post-card{padding:0}
.brand{max-width:calc(100% - 90px);font-size:1rem}.brand small{display:none}.brand-mark{padding:7px 10px}
body .ecg-wrap{padding:20px 14px 32px}body .ecg-account-page,body .ecg-entry{width:calc(100% - 28px)}
body .woocommerce .col2-set{flex-direction:column;gap:12px}
body .woocommerce .col2-set :where(.col-1,.col-2){width:100%}
body .woocommerce .woocommerce-ordering,body .woocommerce .woocommerce-result-count{float:none;width:100%;margin:12px 0}
body .woocommerce .woocommerce-ordering select{width:100%}
body .woocommerce .cart-collaterals .cart_totals{padding:16px}
body .ecg-commerce-account .woocommerce .woocommerce-MyAccount-content{padding:16px}
body .woocommerce div.product :where(div.images,div.summary){float:none;width:100%}
.lesson-layout{padding:20px 14px}
.ecg-mobile-nav{font-size:12px}
}
@media(max-width:420px){body .woocommerce ul.products{grid-template-columns:1fr}.es-rich-content{font-size:15px}.header-inner{min-height:68px}.es-page-heading h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
body{--wc-primary:var(--ecg-palette-primary,#174ea6);--wc-primary-text:var(--ecg-palette-primary-text,#fff);--woocommerce:var(--ecg-palette-primary,#174ea6)}
body .es-site-main .woocommerce form .form-row :is(input.input-text,textarea,select),body .es-site-main .woocommerce .quantity input.qty{border:1px solid #c8d7e9;border-radius:8px;min-height:44px;padding:10px 12px;background:#fff;color:var(--es-text);font:inherit;max-width:100%;box-shadow:none}
body .es-site-main .woocommerce :is(a.button,button.button,input.button),body .es-site-main .woocommerce :is(a.button.alt,button.button.alt,input.button.alt){background:var(--es-action);color:var(--ecg-palette-primary-text,#fff);border:1px solid var(--es-action);border-radius:8px;padding:11px 18px;min-height:44px}
body .es-site-main .woocommerce :is(a.button,button.button,input.button):hover{background:var(--es-action);color:var(--ecg-palette-primary-text,#fff);filter:brightness(.93)}
@media(max-width:700px){body .es-site-main .woocommerce form .form-row-first,body .es-site-main .woocommerce form .form-row-last{float:none;width:100%}}
