.ndtam-public-activity{max-width:1120px;margin:40px auto;padding:0 20px}.ndtam-public-hero img{width:100%;height:auto;display:block;border-radius:24px;box-shadow:none;margin-bottom:18px}.ndtam-public-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:28px;margin:22px 0;box-shadow:0 12px 32px rgba(15,23,42,.07)}.ndtam-public-card h2,.ndtam-public-card h3{margin-top:0}.ndtam-public-side{background:#f8fafc;border-radius:18px;padding:22px}.ndtam-booking-card{grid-template-columns:1fr}.ndtam-booking-form{max-width:760px}.ndtam-booking-form p{margin:0 0 16px}.ndtam-booking-form label span{display:block;font-weight:700;margin-bottom:6px}.ndtam-booking-form input[type=text],.ndtam-booking-form input[type=email],.ndtam-booking-form textarea,.ndtam-booking-form select{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font-size:16px}.ndtam-booking-form textarea{min-height:110px}.ndtam-terms{display:flex;gap:10px;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.ndtam-submit{background:#17298f;color:#fff;border:0;border-radius:999px;padding:14px 28px;font-weight:800;font-size:16px;cursor:pointer}.ndtam-session-list{padding-left:20px}.ndtam-session-list li{margin-bottom:10px}.ndtam-public-message{padding:14px 16px;border-radius:14px;margin:0 0 16px}.ndtam-success{background:#dcfce7}.ndtam-info{background:#dbeafe}.ndtam-error{background:#fee2e2}@media(max-width:800px){.ndtam-public-card{grid-template-columns:1fr;padding:20px}}

/* NDTAM 1.4.0 mobile instructor workspace */
.ndtam-mobile-body{margin:0;background:#f6f7fb;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#101827}.ndtam-mobile-app{max-width:760px;margin:0 auto;padding:18px}.ndtam-mobile-top{background:linear-gradient(135deg,#17298f,#273bb7);color:#fff;border-radius:26px;padding:26px;box-shadow:0 18px 45px rgba(23,41,143,.22)}.ndtam-mobile-top span{display:block;opacity:.82;font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.ndtam-mobile-top h1{margin:8px 0 4px;font-size:30px;line-height:1.05}.ndtam-mobile-top p{margin:0;opacity:.9}.ndtam-mobile-session-picker{margin:18px 0}.ndtam-mobile-session-picker select{width:100%;min-height:52px;border:1px solid #d7def0;border-radius:18px;background:#fff;padding:0 16px;font-size:16px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.ndtam-mobile-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.ndtam-mobile-stats div{background:#fff;border:1px solid #e1e7f2;border-radius:20px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.ndtam-mobile-stats strong{display:block;font-size:28px;color:#17298f}.ndtam-mobile-stats span{color:#64748b;font-weight:700}.ndtam-mobile-card{background:#fff;border:1px solid #e1e7f2;border-radius:24px;padding:18px;margin:14px 0;box-shadow:0 10px 26px rgba(15,23,42,.08)}.ndtam-mobile-person strong{display:block;font-size:20px}.ndtam-mobile-person span{display:block;font-weight:800;color:#17298f;margin-top:2px}.ndtam-mobile-person small{display:block;color:#64748b;margin-top:4px}.ndtam-mobile-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;margin:14px 0;font-weight:800;font-size:13px;background:#eef2ff;color:#17298f}.ndtam-mobile-status-present{background:#e8f7ef;color:#0f6b37}.ndtam-mobile-status-absent,.ndtam-mobile-status-no_show{background:#fff2e5;color:#9a4b00}.ndtam-mobile-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.ndtam-mobile-actions form{margin:0}.ndtam-mobile-btn{width:100%;min-height:46px;border:0;border-radius:15px;font-weight:900;cursor:pointer;background:#eef2ff;color:#17298f}.ndtam-mobile-btn-present{background:#17298f;color:#fff}.ndtam-mobile-btn-absent{background:#f8fafc;color:#334155;border:1px solid #cbd5e1}.ndtam-mobile-btn-no_show{background:#fff2e5;color:#9a4b00}.ndtam-mobile-empty,.ndtam-mobile-login{background:#fff;border:1px solid #e1e7f2;border-radius:20px;padding:22px;text-align:center;color:#64748b}.ndtam-wide-input{width:100%;max-width:720px}.ndtam-mobile-admin .ndtam-hero .button{align-self:center}
@media(max-width:520px){.ndtam-mobile-app{padding:12px}.ndtam-mobile-top{border-radius:22px;padding:22px}.ndtam-mobile-top h1{font-size:25px}.ndtam-mobile-actions{grid-template-columns:1fr}.ndtam-mobile-btn{min-height:50px}}


/* Customer Portal */
.ndtam-portal{max-width:1100px;margin:40px auto;padding:0 18px;font-family:inherit}
.ndtam-portal-hero{background:linear-gradient(135deg,#17298f,#2238bd);color:#fff;border-radius:24px;padding:34px 38px;margin-bottom:20px;box-shadow:0 18px 45px rgba(23,41,143,.18)}
.ndtam-portal-hero h2{margin:0 0 8px;font-size:38px;color:#fff}.ndtam-portal-hero p{margin:0;color:#e8edff;font-size:17px}
.ndtam-portal-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.ndtam-portal-tabs a{background:#fff;border:1px solid #e1e7f2;color:#17298f;text-decoration:none;font-weight:800;border-radius:999px;padding:11px 16px;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.ndtam-portal-card{background:#fff;border:1px solid #e1e7f2;border-radius:22px;padding:24px;margin:0 0 22px;box-shadow:0 14px 38px rgba(15,23,42,.07)}
.ndtam-portal-card h3{margin:0 0 16px;font-size:24px}.ndtam-portal-list{display:grid;gap:12px}.ndtam-portal-row{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #edf1f7;border-radius:16px;padding:16px;background:#fbfdff}.ndtam-portal-row span{color:#64748b}.ndtam-dog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.ndtam-dog-card{border:1px solid #edf1f7;border-radius:18px;padding:18px;background:#fbfdff;display:grid;gap:6px}.ndtam-dog-icon{font-size:34px}.ndtam-button{display:inline-flex;align-items:center;justify-content:center;background:#17298f;color:#fff!important;border-radius:999px;text-decoration:none!important;font-weight:800;padding:10px 16px}.ndtam-status{display:inline-flex;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;text-transform:uppercase;background:#e7ecff;color:#17298f}.ndtam-status-paid,.ndtam-status-confirmed{background:#dcfce7;color:#166534}.ndtam-status-pending{background:#fef3c7;color:#92400e}.ndtam-status-waitlist{background:#e0f2fe;color:#075985}.ndtam-status-cancelled{background:#fee2e2;color:#991b1b}.ndtam-status-completed{background:#ede9fe;color:#5b21b6}
@media(max-width:700px){.ndtam-portal-row{align-items:flex-start;flex-direction:column}.ndtam-portal-hero h2{font-size:30px}}

.ndtam-dog-thumb{width:58px;height:58px;border-radius:50%;object-fit:cover;margin-bottom:8px}


/* NDTAM 1.8.0 Instructor Portal */
.ndtam-instructor-portal-body{margin:0;background:#f6f7fb;color:#101827;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ndtam-instructor-portal{max-width:980px;margin:0 auto;padding:18px}.ndtam-ip-header{display:flex;justify-content:space-between;gap:16px;align-items:center;background:linear-gradient(135deg,#17298f,#243eb8);color:#fff;border-radius:26px;padding:24px;box-shadow:0 18px 38px rgba(23,41,143,.22)}.ndtam-ip-header h1{margin:4px 0 6px;font-size:clamp(28px,5vw,44px);line-height:1.05}.ndtam-ip-header p{margin:0;opacity:.9}.ndtam-kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:12px;opacity:.84}.ndtam-ip-home{width:58px;height:58px;display:flex;align-items:center;justify-content:center;background:#fff;color:#17298f;border-radius:18px;text-decoration:none;font-size:28px}.ndtam-ip-session-picker{margin:16px 0;background:#fff;border:1px solid #e1e7f2;border-radius:20px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.08)}.ndtam-ip-session-picker label{display:block;font-weight:800;margin-bottom:8px}.ndtam-ip-session-picker select,.ndtam-ip-notes-panel textarea,.ndtam-ip-details textarea{width:100%;min-height:48px;border:1px solid #cfd8ea;border-radius:14px;padding:12px 14px;font-size:16px;background:#fff}.ndtam-ip-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.ndtam-ip-stats div{background:#fff;border:1px solid #e1e7f2;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.08)}.ndtam-ip-stats strong{display:block;color:#17298f;font-size:34px;line-height:1}.ndtam-ip-stats span{display:block;color:#64748b;font-weight:700;margin-top:6px}.ndtam-ip-notes-panel,.ndtam-ip-card,.ndtam-ip-empty{background:#fff;border:1px solid #e1e7f2;border-radius:22px;padding:18px;margin-bottom:14px;box-shadow:0 10px 28px rgba(15,23,42,.08)}.ndtam-ip-notes-panel h2{margin:0 0 10px}.ndtam-ip-button,.ndtam-ip-small{border:0;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer;background:#17298f;color:#fff}.ndtam-ip-button{margin-top:10px}.ndtam-ip-card{display:grid;gap:14px}.ndtam-ip-dog{display:flex;gap:14px;align-items:center}.ndtam-ip-avatar{width:64px;height:64px;flex:0 0 64px;border-radius:20px;background:#eef3ff;display:flex;align-items:center;justify-content:center;font-size:34px;overflow:hidden}.ndtam-ip-avatar img{width:100%;height:100%;object-fit:cover}.ndtam-ip-dog h3{margin:0;font-size:22px}.ndtam-ip-dog p,.ndtam-ip-dog small{margin:2px 0;color:#64748b}.ndtam-ip-badges{display:flex;gap:8px;flex-wrap:wrap}.ndtam-ip-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ndtam-ip-actions form{margin:0}.ndtam-ip-small{width:100%;font-size:15px}.ndtam-ip-present{background:#0f8a4b}.ndtam-ip-absent{background:#d97706}.ndtam-ip-no_show{background:#b91c1c}.ndtam-ip-details{border-top:1px solid #e1e7f2;padding-top:12px}.ndtam-ip-details summary{font-weight:800;cursor:pointer}.ndtam-ip-details summary span{background:#17298f;color:#fff;border-radius:999px;padding:2px 8px;margin-left:6px}.ndtam-ip-contact-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.ndtam-ip-contact-actions a{display:inline-flex;padding:9px 13px;border-radius:999px;background:#eef3ff;color:#17298f;text-decoration:none;font-weight:800}.ndtam-portal-login{max-width:620px;margin:40px auto;padding:28px;border-radius:22px;background:#fff;border:1px solid #e1e7f2;box-shadow:0 10px 28px rgba(15,23,42,.08);font-weight:800;text-align:center}@media(max-width:700px){.ndtam-instructor-portal{padding:12px}.ndtam-ip-header{padding:20px;border-radius:22px}.ndtam-ip-stats{grid-template-columns:1fr}.ndtam-ip-actions{grid-template-columns:1fr}.ndtam-ip-dog{align-items:flex-start}.ndtam-ip-avatar{width:56px;height:56px;flex-basis:56px}}


/* NDTAM 1.9.2 public activity polish */
.ndtam-public-activity{max-width:1200px}
.ndtam-public-hero img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;border-radius:18px;margin-bottom:18px;box-shadow:none}
.ndtam-public-booking-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:24px;align-items:start}
.ndtam-public-booking-layout .ndtam-public-card{margin:0 0 20px}
.ndtam-public-info-card{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr)}
.ndtam-booking-card{position:sticky;top:24px;display:block}
.ndtam-booking-card .ndtam-booking-form{max-width:none}
.ndtam-public-card{border-radius:16px;padding:22px}
.ndtam-public-side{border:1px solid #e2e8f0}
@media(max-width:900px){.ndtam-public-booking-layout,.ndtam-public-info-card{grid-template-columns:1fr}.ndtam-booking-card{position:static}.ndtam-public-hero img{max-height:none}}

/* v1.9.3 low places / waitlist badge */
.ndtam-public-hero{position:relative;overflow:hidden}
.ndtam-places-bubble{position:absolute;right:18px;bottom:18px;display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:#fff4e8;color:#b54708;font-weight:800;box-shadow:0 12px 28px rgba(15,23,42,.18);border:1px solid rgba(255,139,54,.35)}
.ndtam-places-bubble-waitlist{background:#eef7ff;color:#075985;border-color:rgba(14,165,233,.25)}

/* NDTAM 1.13.8 public activity cards */
.ndtam-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}.ndtam-card-grid-1{grid-template-columns:1fr}.ndtam-card-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ndtam-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ndtam-activity-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;overflow:hidden;box-shadow:0 14px 36px rgba(15,23,42,.08);transition:transform .18s ease,box-shadow .18s ease}.ndtam-activity-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(15,23,42,.12)}.ndtam-activity-card-link{display:block;color:inherit;text-decoration:none!important}.ndtam-activity-card-image{position:relative;aspect-ratio:1.55;background:#f1f5f9;overflow:hidden}.ndtam-activity-card-image img{width:100%;height:100%;object-fit:cover;display:block}.ndtam-activity-card-type{position:absolute;left:18px;top:18px;background:#ff8b36;color:#fff;border-radius:999px;padding:8px 12px;font-weight:900;text-transform:uppercase;font-size:12px}.ndtam-activity-card-full{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);background:#ff8b36;color:#fff;border:4px solid #fff;border-radius:12px;padding:10px 18px;font-size:24px;font-weight:950;text-transform:uppercase;box-shadow:0 10px 28px rgba(15,23,42,.25)}.ndtam-activity-card-left{position:absolute;right:14px;bottom:14px;background:#fff4e8;color:#b54708;border:1px solid rgba(255,139,54,.35);border-radius:999px;padding:10px 14px;font-weight:900}.ndtam-activity-card-body{padding:22px}.ndtam-activity-card-body h3{margin:0 0 10px;font-size:24px;line-height:1.08}.ndtam-activity-card-body p{color:#475569;margin:0 0 18px}.ndtam-activity-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.ndtam-activity-card-meta span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;color:#475569;font-size:14px}.ndtam-activity-card-button{display:flex;align-items:center;justify-content:center;background:#17298f;color:#fff;border-radius:999px;padding:14px 18px;font-weight:900;margin-top:18px}.ndtam-activity-card.is-full .ndtam-activity-card-image img{filter:brightness(.55)}.ndtam-activity-card.is-full .ndtam-activity-card-button{background:#1e293b}.ndtam-empty{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;color:#64748b}@media(max-width:900px){.ndtam-card-grid,.ndtam-card-grid-2,.ndtam-card-grid-3,.ndtam-card-grid-4{grid-template-columns:1fr 1fr}}@media(max-width:620px){.ndtam-card-grid,.ndtam-card-grid-2,.ndtam-card-grid-3,.ndtam-card-grid-4{grid-template-columns:1fr}.ndtam-activity-card-full{font-size:18px}}


/* NDTAM 1.13.9 public presentation polish */
.ndtam-public-info-card{grid-template-columns:1fr!important;gap:18px}
.ndtam-public-info-card .ndtam-public-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;width:100%;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px 20px}
.ndtam-public-info-card .ndtam-public-side p{margin:0}
.ndtam-auto-activity-list{margin-top:34px}
.ndtam-auto-activity-list:empty{display:none}
@media(max-width:900px){.ndtam-public-info-card .ndtam-public-side{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ndtam-public-info-card .ndtam-public-side{grid-template-columns:1fr}}

.ndtam-shop-empty{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:24px 28px;margin:18px 0 28px;box-shadow:0 14px 34px rgba(15,23,42,.06)}
.ndtam-shop-empty h2{margin:0 0 10px;font-size:22px;line-height:1.2;color:#0f172a}
.ndtam-shop-empty p{margin:0;color:#475569;font-size:16px;line-height:1.55}

.ndtam-inline-empty{background:#f8fbff;border:1px solid #dbe7f7;border-radius:14px;padding:14px 18px;margin:10px 0 22px;color:#475569}
.ndtam-inline-empty p{margin:0;font-size:15px;line-height:1.55}

/* NDTAM 1.13.22 Customer Portal self-service */
.ndtam-portal-form{display:grid;gap:14px;max-width:760px}.ndtam-portal-form label{display:grid;gap:6px;font-weight:800;color:#334155}.ndtam-portal-form input,.ndtam-portal-form select,.ndtam-portal-form textarea{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font:inherit;background:#fff;box-sizing:border-box}.ndtam-portal-form textarea{min-height:90px}.ndtam-portal-form small{font-weight:500;color:#64748b}.ndtam-dog-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.ndtam-dog-form button{justify-self:start}.ndtam-compact-form{margin-top:10px}.ndtam-button-secondary{background:#f8fafc!important;color:#17298f!important;border:1px solid #cbd5e1}.ndtam-portal-help{color:#64748b;margin-top:-6px}.ndtam-portal-details{margin-top:12px}.ndtam-portal-details summary{cursor:pointer;font-weight:900;color:#17298f}.ndtam-dog-card.is-inactive{opacity:.72;background:#f8fafc}.ndtam-dog-card.is-inactive strong{text-decoration:none}.ndtam-dog-card .ndtam-portal-form{max-width:none}.ndtam-dog-card .ndtam-dog-form{grid-template-columns:1fr}@media(max-width:700px){.ndtam-dog-form{grid-template-columns:1fr}}


/* NDTAM public contact form */
.ndtam-public-contact{
    --ndtam-contact-brand:#1725a6;
    --ndtam-contact-accent:#f05a28;
    --ndtam-contact-text:#14213d;
    --ndtam-contact-muted:#5f6f89;
    --ndtam-contact-border:#d6e0f5;
    --ndtam-contact-bg:#ffffff;
    max-width: 980px;
    margin: 32px auto;
    padding: 0 16px;
    color: var(--ndtam-contact-text);
}
.ndtam-public-contact-card{
    background: var(--ndtam-contact-bg);
    border: 1px solid var(--ndtam-contact-border);
    border-radius: 28px;
    box-shadow: 0 22px 60px rgba(20,33,61,.10);
    padding: clamp(24px, 4vw, 46px);
}
.ndtam-public-contact-intro{margin:0 0 24px}
.ndtam-public-contact-kicker{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:6px 12px;
    background:rgba(23,37,166,.08);
    color:var(--ndtam-contact-brand);
    font-weight:800;
    font-size:13px;
    letter-spacing:.02em;
}
.ndtam-public-contact-intro h2{
    margin:14px 0 8px;
    font-size:clamp(30px, 5vw, 54px);
    line-height:1.02;
    letter-spacing:-.04em;
    color:var(--ndtam-contact-text);
}
.ndtam-public-contact-intro p{
    margin:0;
    color:var(--ndtam-contact-muted);
    font-size:17px;
}
.ndtam-contact-form{margin:0}
.ndtam-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.ndtam-contact-field{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin:0;
    font-weight:800;
    color:var(--ndtam-contact-text);
}
.ndtam-contact-field span{font-size:14px}
.ndtam-contact-field em{
    color:var(--ndtam-contact-accent);
    font-style:normal;
}
.ndtam-contact-field input,
.ndtam-contact-field textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid var(--ndtam-contact-border);
    border-radius:16px;
    background:#fff;
    color:var(--ndtam-contact-text);
    font:inherit;
    font-size:16px;
    padding:14px 16px;
    min-height:52px;
    outline:none;
    transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.ndtam-contact-field textarea{
    min-height:150px;
    resize:vertical;
    line-height:1.5;
}
.ndtam-contact-field input:focus,
.ndtam-contact-field textarea:focus{
    border-color:var(--ndtam-contact-brand);
    box-shadow:0 0 0 4px rgba(23,37,166,.10);
}
.ndtam-contact-field-full{margin-top:18px}
.ndtam-contact-actions{
    margin-top:22px;
    display:flex;
    justify-content:flex-start;
}
.ndtam-contact-submit{
    appearance:none;
    border:0;
    border-radius:999px;
    background:var(--ndtam-contact-brand);
    color:#fff;
    font-weight:900;
    font-size:15px;
    padding:14px 24px;
    cursor:pointer;
    box-shadow:0 12px 26px rgba(23,37,166,.22);
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.ndtam-contact-submit:hover,
.ndtam-contact-submit:focus{
    transform:translateY(-1px);
    box-shadow:0 16px 32px rgba(23,37,166,.28);
    background:#101b82;
    color:#fff;
}
.ndtam-contact-success{
    border:1px solid #b8e6c6;
    background:#effaf2;
    color:#14532d;
    border-radius:18px;
    padding:14px 16px;
    margin:0 0 20px;
    font-weight:800;
}
.ndtam-hp{
    position:absolute!important;
    left:-9999px!important;
    height:1px!important;
    width:1px!important;
    overflow:hidden!important;
}
@media (max-width: 760px){
    .ndtam-public-contact{margin:20px auto;padding:0 12px}
    .ndtam-public-contact-card{border-radius:22px;padding:22px}
    .ndtam-contact-grid{grid-template-columns:1fr}
    .ndtam-contact-field-full{margin-top:18px}
    .ndtam-contact-submit{width:100%}
}

.ndtam-contact-form.is-preview .ndtam-contact-submit{opacity:.75;cursor:default}


/* v1.19.0 public service scheduling */
.ndtam-public-service-booking{margin:24px 0;padding:0;max-width:920px}.ndtam-public-service-card,.ndtam-public-booking-form,.ndtam-public-box,.ndtam-public-message{background:#fff;border:1px solid rgba(23,41,143,.12);border-radius:18px;padding:22px;box-shadow:0 12px 32px rgba(15,23,42,.06);margin-bottom:18px}.ndtam-public-service-card h2{margin-top:0}.ndtam-service-meta{color:#5b6476;font-weight:600}.ndtam-public-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:12px 0 24px}.ndtam-public-slot{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(23,41,143,.16);border-radius:14px;padding:13px;background:#f8fafc;cursor:pointer}.ndtam-public-slot:has(input:checked){outline:2px solid rgba(23,41,143,.35);background:#fff}.ndtam-public-slot input{margin-top:4px}.ndtam-public-booking-form input[type=text],.ndtam-public-booking-form input[type=email],.ndtam-public-booking-form textarea{width:100%;max-width:520px}.ndtam-success{background:#f0fdf4;border-color:#bbf7d0}.ndtam-error{background:#fef2f2;border-color:#fecaca}.ndtam-public-submit{padding:10px 18px;font-weight:700}


/* v1.25.0 Booking Hub / Resource status */
.ndtam-booking-hub,
.ndtam-resource-status,
.ndtam-resource-board{
    margin:22px 0;
}
.ndtam-booking-hub-filter select{
    width:100%;
    max-width:520px;
}
.ndtam-resource-status{
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:16px 18px;
    background:#fff;
}
.ndtam-resource-board-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
}
.ndtam-resource-board-card{
    border:1px solid #e2e8f0;
    border-radius:16px;
    padding:14px 16px;
    background:#fff;
}
.ndtam-resource-board-card ul{
    margin:10px 0 0 18px;
}


/* v1.26.0 Resource Cards */
.ndtam-resource-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:22px;
    margin:24px 0;
}
.ndtam-resource-card{
    border:1px solid #e2e8f0;
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 12px 36px rgba(15,23,42,.08);
}
.ndtam-resource-card-image img{
    width:100%;
    height:auto;
    display:block;
}
.ndtam-resource-card-body{
    padding:18px 20px;
}
.ndtam-resource-type{
    display:inline-block;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#64748b;
    margin-bottom:6px;
}
.ndtam-resource-card h3{
    margin:0 0 10px;
}
.ndtam-resource-gallery{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}
.ndtam-resource-gallery img{
    width:72px;
    height:72px;
    object-fit:cover;
    border-radius:10px;
}
.ndtam-resource-location{
    color:#64748b;
    font-size:14px;
}


/* v1.28.0 Public Booking Calendar */
.ndtam-public-booking-calendar{
    margin:24px 0;
}
.ndtam-public-calendar-day{
    border:1px solid #e2e8f0;
    border-radius:16px;
    padding:14px 16px;
    margin:12px 0;
    background:#fff;
}
.ndtam-public-calendar-day ul{
    margin:10px 0 0 18px;
}


/* v1.29.0 Customer cancel/reschedule */
.ndtam-portal-booking-actions{
    margin-top:10px;
}
.ndtam-portal-booking-actions summary{
    cursor:pointer;
    font-weight:600;
}
.ndtam-portal-action-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
    margin-top:10px;
}
.ndtam-portal-action-grid textarea{
    width:100%;
    box-sizing:border-box;
}


/* v1.31.0 Resource Card public polish */
.ndtam-resource-card{
    transition:transform .15s ease, box-shadow .15s ease;
}
.ndtam-resource-card:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 48px rgba(15,23,42,.12);
}
.ndtam-resource-card-image img{
    aspect-ratio:16/10;
    object-fit:cover;
}
.ndtam-resource-card-details{
    margin-top:12px;
    color:#334155;
}
.ndtam-resource-card-details p{
    margin:0 0 10px;
}
.ndtam-resource-gallery img{
    width:82px;
    height:82px;
    object-fit:cover;
    border-radius:12px;
    border:1px solid #e2e8f0;
}

/* NDT Activity Platform 1.34.0 Instructor Portal */
.ndtam-ip-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}.ndtam-ip-picker-grid label{display:flex;flex-direction:column;gap:6px}.ndtam-ip-mini-list{display:grid;gap:10px}.ndtam-ip-mini-item{display:grid;gap:3px;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:rgba(255,255,255,.72)}.ndtam-ip-mini-item small{opacity:.75}
/* v1.55.0 - Public Intake */
.ndtam-public-intake{max-width:860px;margin:32px auto;padding:0 16px;color:#172033}.ndtam-public-intake-shell{background:#fff;border:1px solid #dbe3ef;border-radius:8px;padding:28px;box-shadow:0 12px 35px rgba(15,23,42,.08)}.ndtam-public-intake .ndtam-eyebrow{display:block;margin-bottom:8px;color:#2563eb;font-size:12px;font-weight:800;text-transform:uppercase}.ndtam-public-intake h1{margin:0 0 8px;font-size:32px;line-height:1.2}.ndtam-public-intake h2{margin:20px 0 10px;font-size:22px}.ndtam-public-intake p{font-size:15px}.ndtam-public-intake-progress{margin:18px 0 8px;color:#64748b;font-weight:700}.ndtam-public-intake-form input[type=text],.ndtam-public-intake-form input[type=tel],.ndtam-public-intake-form input[type=date],.ndtam-public-intake-form input[type=number],.ndtam-public-intake-form select,.ndtam-public-intake-form textarea{width:100%;max-width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px;font-size:16px}.ndtam-public-intake-form label{display:block;margin:10px 0}.ndtam-public-intake-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.ndtam-known-answer,.ndtam-public-intake-error,.ndtam-public-intake-success{padding:12px 14px;border-radius:8px;margin:14px 0}.ndtam-known-answer{background:#eff6ff;border:1px solid #bfdbfe}.ndtam-public-intake-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.ndtam-public-intake-success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.ndtam-public-intake-review{display:grid;grid-template-columns:minmax(140px,240px) 1fr;gap:10px 18px}.ndtam-public-intake-review dt{font-weight:800}.ndtam-public-intake-review dd{margin:0;color:#334155}@media(max-width:680px){.ndtam-public-intake-shell{padding:20px}.ndtam-public-intake-review{display:block}.ndtam-public-intake-review dd{margin:0 0 12px}}

/* v1.62.0 public booking and Intake completion */
.ndtam-booking-hub,.ndtam-public-service-booking,.ndtam-resource-cards,.ndtam-public-intake{--ndtam-accent:#17298f;--ndtam-border:#dbe3ef;--ndtam-muted:#64748b;--ndtam-surface:#fff;--ndtam-soft:#f8fafc;color:inherit}.ndtam-service-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:20px 0}.ndtam-service-public-tile{display:flex;flex-direction:column;gap:10px;border:1px solid var(--ndtam-border);border-radius:14px;background:var(--ndtam-surface);padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.ndtam-service-public-tile.is-selected{outline:2px solid color-mix(in srgb,var(--ndtam-accent) 32%,transparent)}.ndtam-service-public-tile h3{margin:0;font-size:1.25rem}.ndtam-button,.ndtam-public-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ndtam-accent);border-radius:999px;background:var(--ndtam-accent);color:#fff!important;padding:11px 18px;font-weight:800;text-decoration:none;line-height:1.2}.ndtam-button-small{padding:8px 12px;font-size:.92rem}.ndtam-public-service-summary,.ndtam-public-intake-booking-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0 0}.ndtam-public-service-summary div,.ndtam-public-intake-booking-summary div{border:1px solid var(--ndtam-border);border-radius:10px;background:var(--ndtam-soft);padding:10px 12px}.ndtam-public-service-summary dt,.ndtam-public-intake-booking-summary dt{font-size:.78rem;font-weight:800;text-transform:uppercase;color:var(--ndtam-muted);margin:0}.ndtam-public-service-summary dd,.ndtam-public-intake-booking-summary dd{margin:3px 0 0;font-weight:700}.ndtam-public-booking-form{display:grid;gap:18px;max-width:760px}.ndtam-public-booking-form h3{margin:8px 0 4px;font-size:1.25rem}.ndtam-public-booking-step,.ndtam-public-empty-state{border:1px solid var(--ndtam-border);border-radius:12px;background:var(--ndtam-soft);padding:14px 16px}.ndtam-public-booking-step p,.ndtam-public-empty-state p,.ndtam-public-booking-help{margin:.35rem 0 0;color:var(--ndtam-muted)}.ndtam-public-booking-form p{margin:0}.ndtam-public-booking-form label{font-weight:700}.ndtam-public-booking-form input[type=text],.ndtam-public-booking-form input[type=email],.ndtam-public-booking-form textarea,.ndtam-public-booking-form select{box-sizing:border-box;width:100%;max-width:560px;border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px;font:inherit}.ndtam-public-slots{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ndtam-public-slot{border-radius:12px;background:var(--ndtam-soft)}.ndtam-public-slot input{inline-size:18px;block-size:18px;accent-color:var(--ndtam-accent)}.ndtam-resource-booking-actions{display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--ndtam-border)}.ndtam-public-intake-booking-summary{margin:18px 0}.ndtam-required-mark{display:inline-flex;vertical-align:middle;margin-left:8px;border-radius:999px;background:#fff7ed;color:#9a3412;padding:3px 8px;font-size:.72rem;font-weight:800}.ndtam-public-choice-group{display:grid;gap:10px;margin-top:12px}.ndtam-public-choice{display:flex!important;align-items:flex-start;gap:10px;border:1px solid var(--ndtam-border);border-radius:10px;background:var(--ndtam-soft);padding:11px 12px;cursor:pointer}.ndtam-public-choice input{margin-top:3px;inline-size:18px;block-size:18px;accent-color:var(--ndtam-accent)}.ndtam-public-choice span{font-weight:650}.ndtam-public-intake-form textarea{min-height:140px}@media(max-width:680px){.ndtam-public-service-card,.ndtam-public-booking-form,.ndtam-public-box,.ndtam-public-message{padding:18px}.ndtam-button,.ndtam-public-submit{width:100%}.ndtam-public-service-summary,.ndtam-public-intake-booking-summary{grid-template-columns:1fr}}

/* v1.65.0 public Consultation Workspace consolidation */
.ndtam-public-consultation .ndtam-consultation-timeline{border:1px solid var(--ndtam-border);border-radius:12px;background:var(--ndtam-soft);padding:14px 16px}.ndtam-public-consultation .ndtam-consultation-timeline ol{display:grid;gap:9px;margin:0;padding:0}.ndtam-public-consultation .ndtam-consultation-timeline li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:5px 10px;list-style:none}.ndtam-public-consultation .ndtam-consultation-timeline li:before{content:"";width:12px;height:12px;border-radius:999px;background:#cbd5e1;margin-top:4px}.ndtam-public-consultation .ndtam-consultation-timeline li.is-done:before{background:#16a34a}.ndtam-public-consultation .ndtam-consultation-timeline li strong{font-weight:800}.ndtam-public-consultation .ndtam-consultation-timeline li span{grid-column:2;color:var(--ndtam-muted);font-size:.86rem}.ndtam-public-consultation .ndtam-public-intake-form .description{display:block;color:var(--ndtam-muted);font-weight:500;margin:4px 0 8px}

/* v1.66.0 public customer journey completion */
.ndtam-public-service-booking,.ndtam-public-intake{font-family:inherit}.ndtam-public-service-card,.ndtam-public-booking-form,.ndtam-public-intake-shell{border-radius:18px}.ndtam-public-service-card h1,.ndtam-public-intake h1{font-size:clamp(30px,4vw,44px);line-height:1.08}.ndtam-eyebrow{display:inline-flex;align-items:center;border-radius:999px;background:color-mix(in srgb,var(--ndtam-accent,#17298f) 10%,transparent);color:var(--ndtam-accent,#17298f);font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;margin:0 0 10px}.ndtam-public-journey{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 4px;padding:0}.ndtam-public-journey li{list-style:none;border:1px solid var(--ndtam-border,#dbe3ef);border-radius:999px;background:var(--ndtam-soft,#f8fafc);color:var(--ndtam-muted,#64748b);padding:8px 12px;font-weight:800;font-size:.92rem}.ndtam-public-journey li.is-current{border-color:var(--ndtam-accent,#17298f);background:color-mix(in srgb,var(--ndtam-accent,#17298f) 9%,#fff);color:var(--ndtam-accent,#17298f)}.ndtam-public-journey li.is-done{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.ndtam-public-journey li.is-pending{opacity:.82}.ndtam-public-form-group{border:1px solid var(--ndtam-border,#dbe3ef);border-radius:16px;background:#fff;padding:18px;margin:0}.ndtam-public-form-group legend{padding:0 8px;font-weight:900;font-size:1.08rem}.ndtam-public-booking-form input[type=text],.ndtam-public-booking-form input[type=email],.ndtam-public-booking-form textarea,.ndtam-public-booking-form select,.ndtam-public-intake-form input[type=text],.ndtam-public-intake-form input[type=tel],.ndtam-public-intake-form input[type=date],.ndtam-public-intake-form input[type=number],.ndtam-public-intake-form select,.ndtam-public-intake-form textarea{min-height:48px;border-radius:12px;line-height:1.45}.ndtam-public-booking-form textarea,.ndtam-public-intake-form textarea{min-height:130px}.ndtam-public-booking-form input:focus,.ndtam-public-booking-form textarea:focus,.ndtam-public-booking-form select:focus,.ndtam-public-intake-form input:focus,.ndtam-public-intake-form textarea:focus,.ndtam-public-intake-form select:focus{outline:3px solid color-mix(in srgb,var(--ndtam-accent,#17298f) 16%,transparent);border-color:var(--ndtam-accent,#17298f)}.ndtam-public-slot,.ndtam-public-choice{min-height:54px}.ndtam-public-intake-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center}.ndtam-public-intake-progress div{grid-column:1/-1;height:8px;border-radius:999px;background:var(--ndtam-soft,#f8fafc);overflow:hidden}.ndtam-public-intake-progress i{display:block;height:100%;border-radius:inherit;background:var(--ndtam-accent,#17298f)}.ndtam-public-intake-review{border:1px solid var(--ndtam-border,#dbe3ef);border-radius:16px;background:#fff;padding:16px}.ndtam-public-intake-review dt{color:#172033}.ndtam-public-intake-review dd{padding-bottom:8px}.ndtam-checkout-transition .ndtam-public-intake-success{border-radius:14px}.ndtam-portal-booking-row .description{display:inline-block;margin-top:5px;color:#64748b;font-weight:700}@media(max-width:680px){.ndtam-public-service-booking{margin:18px 0}.ndtam-public-service-card h1,.ndtam-public-intake h1{font-size:30px}.ndtam-public-journey{display:grid;grid-template-columns:1fr}.ndtam-public-journey li{border-radius:12px}.ndtam-public-form-group{padding:15px}.ndtam-public-intake-actions{display:grid}.ndtam-public-intake-actions .button,.ndtam-public-intake-actions .ndtam-button{width:100%;min-height:48px}.ndtam-public-intake-progress{grid-template-columns:1fr}.ndtam-public-intake-review{padding:14px}}

/* v1.69.2 public booking consolidation */
.ndtam-public-service-booking{max-width:960px;margin:28px auto;padding:0 16px}
.ndtam-public-service-booking *{box-sizing:border-box}
.ndtam-public-service-card,.ndtam-public-booking-form{border-radius:14px;border-color:#d7e2f3}
.ndtam-public-booking-form{max-width:960px;gap:20px}
.ndtam-public-service-summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.ndtam-public-slots{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.ndtam-public-slot{align-items:center;min-height:74px;border-radius:14px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.ndtam-public-slot input{flex:0 0 auto;margin:0}
.ndtam-public-slot span{display:block;line-height:1.45}
.ndtam-public-slot strong{font-weight:850;color:#172033}
.ndtam-public-slot small{display:block;margin-top:2px;color:#64748b;font-weight:700}
.ndtam-public-form-group{display:grid;gap:14px;border-radius:14px}
.ndtam-public-form-group h3{margin:0}
.ndtam-public-booking-form label{display:grid;gap:7px;color:#172033}
.ndtam-public-booking-form label br{display:none}
.ndtam-public-booking-form input[type=text],.ndtam-public-booking-form input[type=email],.ndtam-public-booking-form textarea,.ndtam-public-booking-form select{max-width:100%;background:#fff}
.ndtam-public-submit{min-height:50px;padding:13px 22px}
@media(max-width:680px){.ndtam-public-service-booking{padding:0 12px}.ndtam-public-slots{grid-template-columns:1fr}.ndtam-public-slot{min-height:68px}.ndtam-public-submit{width:100%}}

/* v1.69.3 WordPress UI integration: keep function, let the active theme own appearance. */
.ndtam-booking-hub,.ndtam-public-service-booking,.ndtam-resource-cards,.ndtam-public-intake{font:inherit;color:inherit;max-width:none;margin-block:1.5rem}
.ndtam-booking-hub *,.ndtam-public-service-booking *,.ndtam-resource-cards *,.ndtam-public-intake *{box-sizing:border-box}
.ndtam-public-service-card,.ndtam-public-booking-form,.ndtam-public-box,.ndtam-public-message,.ndtam-public-intake-shell,.ndtam-service-public-tile,.ndtam-resource-card{background:transparent;box-shadow:none;border:1px solid rgba(0,0,0,.14);border-radius:0;color:inherit}
.ndtam-public-service-card h1,.ndtam-public-service-card h2,.ndtam-public-service-card h3,.ndtam-public-intake h1,.ndtam-public-intake h2,.ndtam-service-public-tile h3{font:revert;line-height:revert;color:inherit}
.ndtam-eyebrow{display:block;background:transparent;color:inherit;border-radius:0;padding:0;margin:0 0 .5rem;font:inherit;font-weight:700;letter-spacing:0;text-transform:none}
.ndtam-button,.ndtam-public-submit{font:inherit;border-radius:0;box-shadow:none;text-decoration:none}
.ndtam-booking-hub .ndtam-button,.ndtam-public-service-booking .ndtam-button,.ndtam-resource-cards .ndtam-button{background:transparent!important;color:inherit!important;border:1px solid currentColor!important}
.ndtam-public-booking-form input[type=text],.ndtam-public-booking-form input[type=email],.ndtam-public-booking-form textarea,.ndtam-public-booking-form select,.ndtam-public-intake-form input[type=text],.ndtam-public-intake-form input[type=tel],.ndtam-public-intake-form input[type=date],.ndtam-public-intake-form input[type=number],.ndtam-public-intake-form select,.ndtam-public-intake-form textarea{font:inherit;color:inherit;border-radius:revert;box-shadow:none;max-width:100%}
.ndtam-public-booking-form input:focus,.ndtam-public-booking-form textarea:focus,.ndtam-public-booking-form select:focus,.ndtam-public-intake-form input:focus,.ndtam-public-intake-form textarea:focus,.ndtam-public-intake-form select:focus{outline:revert;border-color:revert}
.ndtam-public-service-summary,.ndtam-public-intake-booking-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.ndtam-public-service-summary div,.ndtam-public-intake-booking-summary div,.ndtam-public-form-group,.ndtam-public-intake-review,.ndtam-public-slot,.ndtam-public-choice{background:transparent;border:1px solid rgba(0,0,0,.14);border-radius:0;box-shadow:none;color:inherit}
.ndtam-public-service-summary dt,.ndtam-public-intake-booking-summary dt,.ndtam-service-meta,.ndtam-public-booking-help,.ndtam-public-booking-step p,.ndtam-public-empty-state p{color:inherit;opacity:.75}
.ndtam-public-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem}
.ndtam-public-slot{min-height:auto;align-items:flex-start}
.ndtam-public-slot:has(input:checked),.ndtam-public-choice:has(input:checked){outline:2px solid currentColor;background:transparent}
.ndtam-public-journey{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;padding:0}
.ndtam-public-journey li{list-style:none;border:1px solid rgba(0,0,0,.18);border-radius:0;background:transparent;color:inherit;padding:.4rem .65rem;font:inherit;font-weight:700}
.ndtam-public-journey li.is-current{border-color:currentColor;background:transparent;color:inherit}
.ndtam-public-journey li.is-done{border-color:rgba(0,0,0,.28);background:transparent;color:inherit}
.ndtam-public-intake-progress div{background:rgba(0,0,0,.12)}
.ndtam-public-intake-progress i{background:currentColor}
.ndtam-success,.ndtam-public-intake-success{background:transparent;border-color:rgba(22,101,52,.45);color:inherit}
.ndtam-error,.ndtam-public-intake-error{background:transparent;border-color:rgba(153,27,27,.45);color:inherit}
@media(max-width:680px){.ndtam-public-service-booking,.ndtam-public-intake{padding-inline:0}.ndtam-public-journey{display:grid}.ndtam-public-slots,.ndtam-public-service-summary,.ndtam-public-intake-booking-summary{grid-template-columns:1fr}.ndtam-public-booking-form,.ndtam-public-service-card,.ndtam-public-intake-shell{padding:1rem}}
