/* MDT 1.15.78 - shared site shell and scoped public/commerce presentation.
 * Loaded after main.css and, on the homepage, homepage.css.
 * Course, lesson and sales content receives no public/commerce body class.
 * Existing markup, menus, forms and plugin actions remain in use. */

/* Shared header and footer. No course-content tokens are overridden. */
body.mdt-site .site-header {
    background:#fff;
    border-bottom:1px solid #e6eef5;
    backdrop-filter:none;
    font-family:"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;
}
body.mdt-site .site-header .nav {
    width:min(1160px,calc(100% - 80px));
    height:auto;
    min-height:88px;
    gap:24px;
}
body.mdt-site .site-header .nav-links,
body.mdt-site .site-header .primary-menu { gap:20px; }
body.mdt-site .site-header .nav-links a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    font-size:1.0625rem;
    font-weight:650;
    line-height:1.4;
    color:#102044;
}
body.mdt-site .site-header .nav-links a:not(.btn):hover { color:#d41268; }
body.mdt-site .site-header .nav-account-link {
    padding-left:20px;
    border-left:1px solid #e5eaf1;
}
body.mdt-site .site-header .nav-links .nav-cta {
    min-height:48px;
    padding:10px 18px;
    font-size:1rem;
    font-weight:800;
    background:#d41268;
    color:#fff;
    box-shadow:0 8px 20px #d4126823;
}
body.mdt-site .site-header .nav-links .nav-cta:hover { background:#b90e59; }
body.mdt-site .site-header .menu-btn {
    min-width:44px;
    min-height:44px;
    background:#f4f7fb;
    color:#102044;
    border-radius:12px;
}
body.mdt-site > footer {
    background:#102044;
    color:#d4dce9;
    padding:49px 0 24px;
    font-family:"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;
}
body.mdt-site > footer > .container { width:min(1160px,calc(100% - 80px)); }
body.mdt-site > footer .footer-grid {
    grid-template-columns:minmax(300px,1.2fr) 1.15fr .65fr .85fr;
    gap:32px;
    padding-bottom:36px;
}
body.mdt-site > footer .footer-brand-block > p {
    font-size:.875rem;
    line-height:1.8;
    color:#bdc8dd;
}
body.mdt-site > footer .footer-grid > div > h3 {
    margin:10px 0 18px;
    color:#fff;
    font-size:1rem;
    letter-spacing:0;
    line-height:1.4;
}
body.mdt-site > footer .footer-grid > div > a:not(.mika-brand-lockup) {
    display:block;
    margin:10px 0;
    color:#d4dce9;
    font-size:.875rem;
    line-height:1.65;
    text-decoration:none;
}
body.mdt-site > footer .footer-grid > div > a:not(.mika-brand-lockup):hover { color:#ffb9d6; }
body.mdt-site > footer .footer-bottom {
    margin-top:0;
    padding-top:20px;
    border-color:#ffffff26;
    color:#bdc8dd;
    font-size:.875rem;
    line-height:1.65;
    flex-wrap:wrap;
}

/* Approved logo: existing dog head + two words on one baseline.
 * Keep the existing image padding/scale that protects the dog's ear tips. */
body.mdt-site .site-header .mika-brand-lockup,
body.mdt-site > footer .mika-brand-lockup { gap:14px; }
body.mdt-site .site-header .mika-brand-mark {
    width:60px;
    height:60px;
    flex-basis:60px;
}
body.mdt-site .site-header .mika-brand-copy,
body.mdt-site > footer .footer-logo .mika-brand-copy {
    display:flex;
    flex-direction:row;
    align-items:baseline;
    justify-content:flex-start;
    gap:10px;
    line-height:1;
    white-space:nowrap;
}
body.mdt-site .site-header .mika-brand-name,
body.mdt-site .site-header .mika-brand-subtitle,
body.mdt-site > footer .footer-logo .mika-brand-name,
body.mdt-site > footer .footer-logo .mika-brand-subtitle {
    margin:0;
    font-family:"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;
    font-size:1.25rem;
    letter-spacing:.065em;
    line-height:1.2;
    color:#102044;
}
body.mdt-site .site-header .mika-brand-name,
body.mdt-site > footer .footer-logo .mika-brand-name { font-weight:800; }
body.mdt-site .site-header .mika-brand-subtitle,
body.mdt-site > footer .footer-logo .mika-brand-subtitle { font-weight:500; }
body.mdt-site > footer .footer-logo {
    width:fit-content;
    max-width:100%;
    margin:0 0 16px;
    padding:8px 12px;
    background:#fffcf8;
    border-radius:12px;
    text-decoration:none;
}
body.mdt-site > footer .footer-logo .mika-brand-mark {
    width:56px;
    height:56px;
    flex-basis:56px;
    background:transparent;
    border-radius:0;
}

/* Public pages: the homepage palette, with quieter content-led heroes. */
body.mdt-public-page,
body.mdt-commerce-page {
    background:#fff;
    color:#102044;
    font-family:"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;
    font-size:1.0625rem;
    line-height:1.7;
}
body.mdt-public-page .container { width:min(1160px,calc(100% - 80px)); }
body.mdt-public-page .section { padding:72px 0; }
body.mdt-public-page .section.compact { padding:48px 0; }
body.mdt-public-page .section.cream { background:#f6f9ff; }
body.mdt-public-page .section.mint { background:#eff9f4; }
body.mdt-public-page .page-hero {
    padding:72px 0 68px;
    border-bottom:1px solid #e5edf5;
}
body.mdt-public-page .page-hero-soft {
    background:linear-gradient(120deg,#eaf7ff,#f3f4ff 60%,#fff1f7);
}
body.mdt-public-page .page-hero h1,
body.mdt-public-page .content-header h1 {
    max-width:900px;
    font-size:clamp(2.5rem,5vw,3.75rem);
    line-height:1.08;
    letter-spacing:-.04em;
    color:#102044;
}
body.mdt-public-page .lead { color:#45536c; font-size:1.125rem; line-height:1.75; }
body.mdt-public-page .eyebrow,
body.mdt-commerce-page .mika-account-page-header .eyebrow { color:#d41268; font-size:.875rem; }
body.mdt-public-page .eyebrow::before,
body.mdt-commerce-page .mika-account-page-header .eyebrow::before { background:#d41268; }
body.mdt-public-page .btn.primary {
    background:#d41268;
    color:#fff;
    box-shadow:0 8px 20px #d4126823;
}
body.mdt-public-page .btn.primary:hover { background:#b90e59; }
body.mdt-public-page .btn.secondary {
    background:#fff;
    border-color:#ccd8e8;
    color:#102044;
    box-shadow:0 4px 12px #14244605;
}
body.mdt-public-page .btn.text,
body.mdt-public-page .text-link { color:#254cc7; }
body.mdt-public-page .entry-content a,
body.mdt-public-page .article-content a,
body.mdt-public-page .contact-info-card a,
body.mdt-public-page .form-small a { color:#254cc7; text-underline-offset:3px; }
body.mdt-public-page .info-card,
body.mdt-public-page .contact-panel,
body.mdt-public-page .sales-card,
body.mdt-public-page .post-card,
body.mdt-public-page .article-related-card {
    background:#fff;
    border:1px solid #e4eaf1;
    border-radius:24px;
    box-shadow:0 12px 35px #1e345813;
}
body.mdt-public-page .about-principles,
body.mdt-public-page .contact-info-card { background:#edf8f2; }
body.mdt-public-page .check-list li::before { color:#15835c; }
body.mdt-public-page .about-trainer-photo {
    border:7px solid #fff;
    border-radius:30px;
    box-shadow:0 14px 36px #1e345818;
}
body.mdt-public-page .sales-card span { color:#254cc7; }
body.mdt-public-page .sales-card-link:hover {
    border-color:#edbfd4;
    box-shadow:0 16px 38px #1e34581c;
}
body.mdt-public-page .cta,
body.mdt-public-page .professional-callout,
body.mdt-public-page .article-course-cta {
    background:linear-gradient(125deg,#eaf7ff,#f4f0ff 55%,#fff0f6);
    color:#102044;
    border:1px solid #e5e8f3;
    border-radius:30px;
}
body.mdt-public-page .professional-callout h2 { color:#102044; }
body.mdt-public-page .professional-callout .lead,
body.mdt-public-page .cta p { color:#45536c; }
body.mdt-public-page .professional-callout .eyebrow { color:#d41268; }
body.mdt-public-page .professional-callout .btn.secondary {
    color:#102044;
    border-color:#ccd8e8;
    background:#fff;
}
body.mdt-public-page .section-head { flex-wrap:wrap; gap:24px; }
body.mdt-public-page .section-head > div { min-width:0; }

/* Contact/FAQ: retain native submission and disclosure behaviour. */
body.mdt-public-page .contact-form input,
body.mdt-public-page .contact-form select,
body.mdt-public-page .contact-form textarea {
    border-color:#bdcbdc;
    border-radius:12px;
    background:#fff;
    color:#102044;
    font-size:1rem;
    line-height:1.6;
}
body.mdt-public-page .contact-form input:focus,
body.mdt-public-page .contact-form select:focus,
body.mdt-public-page .contact-form textarea:focus {
    outline:3px solid #2d5df64d;
    border-color:#2d5df6;
}
body.mdt-public-page .form-small { font-size:.875rem; line-height:1.7; }
body.mdt-public-page .faq-page details {
    margin:12px 0;
    background:#fff;
    border:1px solid #e4eaf1;
    border-radius:18px;
}
body.mdt-public-page .faq-page details[open] { border-color:#edbfd4; background:#fffafd; }
body.mdt-public-page .faq-page summary {
    min-height:64px;
    padding:20px 54px 20px 22px;
    color:#102044;
    font-size:1.0625rem;
    line-height:1.5;
}
body.mdt-public-page .faq-page summary::after { right:20px; top:16px; color:#d41268; }
body.mdt-public-page .faq-page details > p { padding:0 22px 22px; margin:0; color:#45536c; }

/* Articles, search, ordinary pages and legal content. */
body.mdt-public-page .content-shell { padding:64px 0 80px; }
body.mdt-public-page .content-header {
    padding:32px;
    border:1px solid #e5e8f3;
    border-radius:28px;
    background:linear-gradient(120deg,#eef9ff,#f7f2fc);
}
body.mdt-public-page .content-header > :last-child { margin-bottom:0; }
body.mdt-public-page .post-card h2 { font-size:clamp(1.5rem,3vw,1.875rem); line-height:1.2; }
body.mdt-public-page .post-card-body { padding:30px; }
body.mdt-public-page .post-meta,
body.mdt-public-page .article-byline { color:#52627b; font-size:.875rem; line-height:1.7; }
body.mdt-public-page .post-thumb { background:#eaf3fb; }
body.mdt-public-page .entry-content,
body.mdt-public-page .article-content { font-size:1.0625rem; line-height:1.85; }
body.mdt-public-page .article-author-card { background:#edf8f2; border-color:#dcece3; border-radius:24px; }
body.mdt-public-page .article-related-card { overflow:hidden; }
body.mdt-public-page .legal-page .article-content { max-width:940px; }
body.mdt-public-page .not-found {
    padding:40px;
    border:1px solid #e5e8f3;
    border-radius:28px;
    background:linear-gradient(120deg,#eef9ff,#fff2f8);
}
body.mdt-public-page .pagination .nav-links {
    display:flex;
    position:static;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    padding:0;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
}
body.mdt-public-page .pagination .page-numbers {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:8px 12px;
    border:1px solid #dce4ef;
    border-radius:12px;
    color:#254cc7;
    background:#fff;
    font-size:1rem;
    text-decoration:none;
}
body.mdt-public-page .pagination .page-numbers.current { color:#fff; background:#d41268; border-color:#d41268; }

/* Commerce: visual skin only. Do not alter field visibility, grid/order,
 * validation, disabled states, payment controls or plugin action selectors. */
body.mdt-commerce-page {
    background:linear-gradient(180deg,#edf8ff 0,#fff 480px);
}
body.mdt-commerce-page .mika-account-page-header {
    padding:28px 32px;
    background:linear-gradient(125deg,#eaf7ff,#f4f0ff 60%,#fff0f6);
    border:1px solid #e5e8f3;
    border-radius:28px;
}
body.mdt-commerce-page .mika-account-page-header .lead { color:#45536c; }
body.mdt-commerce-page .woocommerce form.login,
body.mdt-commerce-page .woocommerce form.register,
body.mdt-commerce-page .woocommerce form.lost_reset_password {
    padding:28px;
    background:#fff;
    border:1px solid #e4eaf1;
    border-radius:24px;
    box-shadow:0 12px 35px #1e345813;
}
body.mdt-commerce-page .woocommerce-MyAccount-navigation,
body.mdt-commerce-page .woocommerce-MyAccount-content,
body.mdt-commerce-page .woocommerce table.shop_table,
body.mdt-commerce-page .wc-block-components-sidebar {
    border-color:#e0e7f0;
    border-radius:22px;
    background-color:#fff;
}
body.mdt-commerce-page .woocommerce .form-row:not(.woocommerce-invalid):not(.woocommerce-validated) input.input-text:not(:disabled):not([readonly]):not([aria-invalid="true"]),
body.mdt-commerce-page .woocommerce .form-row:not(.woocommerce-invalid):not(.woocommerce-validated) select:not(:disabled):not([aria-invalid="true"]),
body.mdt-commerce-page .woocommerce .form-row:not(.woocommerce-invalid):not(.woocommerce-validated) textarea:not(:disabled):not([readonly]):not([aria-invalid="true"]) {
    border-color:#bdcbdc;
    border-radius:12px;
    color:#102044;
    font-size:1rem;
}
body.mdt-commerce-page .woocommerce a.button:not(.disabled):not([aria-disabled="true"]),
body.mdt-commerce-page .woocommerce button.button:not(:disabled):not(.disabled):not([aria-disabled="true"]),
body.mdt-commerce-page .woocommerce input.button:not(:disabled):not(.disabled):not([aria-disabled="true"]),
body.mdt-commerce-page .wc-block-components-button:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
    background:#d41268;
    color:#fff;
    border-radius:999px;
    font-size:1rem;
    font-weight:800;
}
body.mdt-commerce-page .woocommerce a.button:not(.disabled):not([aria-disabled="true"]):hover,
body.mdt-commerce-page .woocommerce button.button:not(:disabled):not(.disabled):not([aria-disabled="true"]):hover,
body.mdt-commerce-page .woocommerce input.button:not(:disabled):not(.disabled):not([aria-disabled="true"]):hover,
body.mdt-commerce-page .wc-block-components-button:not(:disabled):not(.disabled):not([aria-disabled="true"]):hover { background:#b90e59; }
body.mdt-commerce-page .woocommerce-MyAccount-navigation li.is-active > a { background:#fff0f7; color:#ab1855; }

/* Visible focus for the shared shell and the newly styled page bodies. */
body.mdt-site .site-header a:focus-visible,
body.mdt-site .site-header button:focus-visible,
body.mdt-site > footer a:focus-visible,
body.mdt-public-page main a:focus-visible,
body.mdt-public-page main button:focus-visible,
body.mdt-public-page main summary:focus-visible,
body.mdt-commerce-page main a:focus-visible,
body.mdt-commerce-page main button:focus-visible {
    outline:3px solid #2d5df6;
    outline-offset:4px;
}

@media (max-width:1100px) {
    body.mdt-site .site-header .nav,
    body.mdt-site > footer > .container,
    body.mdt-public-page .container { width:calc(100% - 48px); }
    body.mdt-site .site-header .nav-links,
    body.mdt-site .site-header .primary-menu { gap:16px; }
    body.mdt-site .site-header .nav-links .nav-cta { display:none; }
    body.mdt-site > footer .footer-grid { gap:24px; }
}
@media (max-width:980px) {
    body.mdt-site .site-header .nav { min-height:80px; gap:12px; }
    body.mdt-site .site-header .nav-links {
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        padding:16px 23px;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        background:#fff;
        border:0;
        border-bottom:1px solid #e5eaf1;
        border-radius:0;
        box-shadow:0 12px 20px #1020440a;
    }
    body.mdt-site .site-header .nav-links.open { display:flex; }
    body.mdt-site .site-header .primary-menu { width:100%; flex-direction:column; align-items:stretch; gap:0; }
    body.mdt-site .site-header .primary-menu > li > a { width:100%; }
    body.mdt-site .site-header .nav-links a { padding:8px 5px; min-height:46px; }
    body.mdt-site .site-header .nav-account-link { padding-top:14px; margin-top:7px; border:0; border-top:1px solid #e5eaf1; }
    body.mdt-site .site-header .nav-links .nav-cta { display:flex; margin-top:12px; }
    body.mdt-site > footer .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    body.mdt-site > footer .footer-brand-block { grid-column:1 / -1; }
}
@media (max-width:760px) {
    body.mdt-site .site-header .nav,
    body.mdt-site > footer > .container,
    body.mdt-public-page .container { width:calc(100% - 36px); }
    body.mdt-site .site-header .mika-brand-lockup,
    body.mdt-site > footer .mika-brand-lockup { gap:8px; }
    body.mdt-site .site-header .mika-brand-mark { width:52px; height:52px; flex-basis:52px; }
    body.mdt-site .site-header .mika-brand-copy,
    body.mdt-site > footer .footer-logo .mika-brand-copy { gap:8px; }
    body.mdt-site .site-header .mika-brand-name,
    body.mdt-site .site-header .mika-brand-subtitle,
    body.mdt-site > footer .footer-logo .mika-brand-name,
    body.mdt-site > footer .footer-logo .mika-brand-subtitle { font-size:1.125rem; letter-spacing:.045em; }
    body.mdt-site > footer { padding-top:32px; }
    body.mdt-site > footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    body.mdt-site > footer .footer-bottom { display:block; }
    body.mdt-site > footer .footer-bottom > span { display:block; }
    body.mdt-site > footer .footer-bottom > span + span { margin-top:8px; }
    body.mdt-public-page .section { padding:48px 0; }
    body.mdt-public-page .section.compact { padding:36px 0; }
    body.mdt-public-page .page-hero { padding:48px 0; }
    body.mdt-public-page .page-hero h1,
    body.mdt-public-page .content-header h1 { font-size:2.125rem; }
    body.mdt-public-page .lead { font-size:1.0625rem; }
    body.mdt-public-page .content-shell { padding:36px 0 56px; }
    body.mdt-public-page .content-header,
    body.mdt-public-page .post-card-body,
    body.mdt-public-page .not-found,
    body.mdt-commerce-page .mika-account-page-header { padding:24px 20px; }
    body.mdt-public-page .info-card { padding:24px; }
    body.mdt-public-page .about-trainer-photo { min-height:300px; }
    body.mdt-public-page .cta { padding:32px 22px; }
    body.mdt-commerce-page .woocommerce form.login,
    body.mdt-commerce-page .woocommerce form.register,
    body.mdt-commerce-page .woocommerce form.lost_reset_password { padding:24px 20px; }
}
@media (max-width:380px) {
    body.mdt-site .site-header .mika-brand-mark { width:44px; height:44px; flex-basis:44px; }
    body.mdt-site .site-header .mika-brand-copy,
    body.mdt-site > footer .footer-logo .mika-brand-copy { gap:6px; }
    body.mdt-site .site-header .mika-brand-name,
    body.mdt-site .site-header .mika-brand-subtitle,
    body.mdt-site > footer .footer-logo .mika-brand-name,
    body.mdt-site > footer .footer-logo .mika-brand-subtitle { font-size:1rem; letter-spacing:.025em; }
}
@media (prefers-reduced-motion:reduce) {
    body.mdt-public-page .sales-card-link:hover { transform:none; }
}
