/* WordPress-only adjustments; static site styles remain unchanged. */
.admin-bar .header { top:32px; }
@media(max-width:782px) { .admin-bar .header { top:46px; } }
@media(max-width:600px) { #wpadminbar { position:fixed; } }
.policy-content .wp-block-image img { max-width:100%;height:auto; }

/* Match the supplied forms while Snow Monkey Forms manages their state. */
.ak-contact-form,.ak-program-form { min-width:0; }
.ak-contact-form .smf-form,.ak-program-form .smf-form { background:none; }
.ak-contact-form .smf-item.form-row,.ak-program-form .smf-item.application-row { padding:0;border:0; }
.ak-contact-form .smf-item__col,.ak-program-form .smf-item__col { width:auto;min-width:0;padding:0;background:none; }
.ak-contact-form .smf-item__label label,.ak-program-form .smf-item__label label { display:block; }
.ak-contact-form .smf-item__label__text,.ak-program-form .smf-item__label__text { display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;font-weight:400;line-height:26px;padding-right:44px; }
.ak-contact-form .smf-item__label__text .required,.ak-contact-form .smf-item__label__text .optional,.ak-program-form .smf-item__label__text .required,.ak-program-form .smf-item__label__text .optional { margin:0;flex:none; }
.ak-contact-form .smf-placeholder,.ak-program-form .smf-placeholder { min-width:0; }
.ak-contact-form .smf-action,.ak-program-form .smf-action { display:flex;justify-content:center;gap:20px;margin:40px 0 0;flex-wrap:wrap; }
.ak-contact-form .smf-button-control__control,.ak-program-form .smf-button-control__control { position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:60px;width:360px;max-width:100%;padding:15px 40px;background:#1e50a2;border:1px solid #1e50a2;border-radius:5px;color:#fff;font-size:16px;font-weight:600;line-height:1.5;opacity:1;box-shadow:none;transition:background .2s,color .2s; }
.ak-contact-form .smf-button-control__control:hover,.ak-program-form .smf-button-control__control:hover { background:#fff;color:#1e50a2; }
.ak-contact-form .smf-button-control__control::after,.ak-program-form .smf-button-control__control::after { content:'';width:16px;height:24px;background:url('../image/219a8.svg') center/contain no-repeat;position:absolute;right:14px;top:50%;translate:0 -50%; }
.ak-contact-form .smf-button-control__control:hover::after,.ak-program-form .smf-button-control__control:hover::after { background-image:url('../image/bdb43.svg'); }
.ak-contact-form .smf-error-messages,.ak-program-form .smf-error-messages { color:#d22; }
.ak-contact-form .snow-monkey-form[data-screen=confirm] .smf-placeholder,.ak-program-form .snow-monkey-form[data-screen=confirm] .smf-placeholder { padding-block:12px;border-bottom:1px solid #8eadde;overflow-wrap:anywhere; }
.ak-program-form .snow-monkey-form { padding:0 96px 0 60px; }
.ak-program-form .smf-item__label { padding:0; }
.ak-program-form .smf-item__controls { min-width:0; }
.ak-program-form .ak-total-row { display:grid;grid-template-columns:100px minmax(0,1fr);width:100%;margin:0;padding:0;border:0; }
.ak-program-form .ak-total-row .optional { display:none; }
.ak-program-form .ak-total-row input { width:100%;border:0;background:none;color:#111;padding:0;font-size:32px;font-weight:700; }
.ak-program-form .ak-total-row .smf-item__label__text { padding:0; }
.ak-program-form .application-total { display:block; }
.ak-program-form .application-total>p { margin-bottom:15px; }
.ak-program-form .ak-coupon-row { display:block;margin:20px 0;padding:0;border:0; }
.ak-program-form .ak-coupon-row .smf-item__label { margin-bottom:8px; }
.ak-program-form .ak-coupon-row .smf-item__controls { display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:16px; }
.ak-program-form .ak-coupon-row input { width:100%;min-width:0;min-height:51px;background:#fff;border:1px solid #8eadde;border-radius:0;padding:10px 18px;color:#1e50a2;font-size:16px; }
.ak-program-form .ak-apply-coupon { background:#1e50a2;color:#fff;border:1px solid #1e50a2;font-size:16px; }
.ak-program-form .ak-apply-coupon:hover { color:#1e50a2;background:#fff;opacity:1; }
.ak-coupon-status { grid-column:1/-1;font-size:14px;color:#1e50a2; }.ak-coupon-status.is-error { color:#d22; }
.ak-program-form .ak-consent { display:grid;grid-template-columns:280px minmax(0,1fr);padding:12px 0;border:0; }
.ak-program-form .ak-privacy-link { display:block;margin-top:8px;text-decoration:underline;color:#1e50a2;font-size:14px; }
.ak-program-form [data-screen=confirm] .ak-apply-coupon,.ak-program-form [data-screen=confirm] .ak-coupon-status { display:none; }
@media(max-width:1250px) { .ak-program-form .snow-monkey-form { padding:0; } }
@media(max-width:768px) {
 .ak-contact-form .smf-item.form-row,.ak-program-form .smf-item.application-row,.ak-program-form .ak-consent { display:block;margin-bottom:22px; }
 .ak-contact-form .smf-item__col--label,.ak-program-form .smf-item__col--label { margin-bottom:8px; }
 .ak-contact-form .smf-item__label__text,.ak-program-form .smf-item__label__text { font-size:14px;padding:0;justify-content:flex-start;gap:15px; }
 .ak-program-form .application-side { margin:0; }
 .ak-program-form .ak-total-row { display:grid;grid-template-columns:65px minmax(0,1fr); }
 .ak-program-form .ak-total-row input { font-size:24px; }
 .ak-program-form .ak-coupon-row .smf-item__controls { grid-template-columns:minmax(0,1fr) 70px;gap:10px; }
 .ak-contact-form .smf-action,.ak-program-form .smf-action { display:block; }
 .ak-contact-form .smf-button-control,.ak-program-form .smf-button-control { margin-top:12px; }
}

.ak-program-form .ak-total-row .smf-placeholder { font-size:28px;font-weight:700; }
@media(max-width:768px){.ak-program-form .ak-total-row .smf-placeholder { font-size:22px; }}
/* Keep the original pale-blue input backgrounds over the plugin defaults. */
.ak-contact-form .smf-form .form-row :is(input[type=text],input[type=email],input[type=tel],select,textarea),
.ak-program-form .smf-form .application-row :is(input[type=text],input[type=email],input[type=tel],textarea) { width:100%;min-width:0;height:51px;padding:12px 30px;border:1px solid transparent;border-radius:0;background-color:#e6efff;color:#212121;font:inherit;font-size:16px;box-shadow:none; }
.ak-contact-form .smf-form .form-row textarea { height:332px;resize:vertical; }
.ak-program-form .smf-form .application-row textarea { height:165px;resize:vertical; }
@media(max-width:768px){
 .ak-contact-form .smf-form .form-row :is(input,select,textarea),.ak-program-form .smf-form .application-row :is(input,textarea) { padding-left:16px; }
 .ak-contact-form .smf-form .form-row textarea { height:240px; }
}

/* Client feedback, 2026-10-27. Keep these after the route-specific styles. */
.ak-form-screen-notice[hidden] { display:none!important; }
.ak-form-screen-notice { margin:0 0 32px;line-height:1.8;outline:none; }
.ak-form-screen-notice p { margin:0; }
.ak-form-screen-notice .program-section-title { margin-bottom:18px; }
.ak-form-screen-notice .program-section-title::before {
 content:'';display:block;flex:none;width:12px;height:12px;border-radius:50%;background:#2453a3;
}
.ak-contact-confirm .contact-intro,
.ak-program-confirm .application-intro,
.ak-program-complete #application>.program-wrap>.program-section-title,
.ak-program-complete #application>.program-wrap>.application-intro,
.ak-program-form.ak-screen-complete>.snow-monkey-form { display:none!important; }
.ak-program-complete .ak-form-screen-notice { margin:0;padding-block:24px 40px; }
@media(min-width:769px) {
 .ak-program-form .application-side .ak-total-display strong,
 .ak-program-form .application-side .application-total input[name="total"] { font-size:38px; }
}
@media(max-width:768px) {
 /* Use identical columns and an explicit shared height for both white boxes.
    Center the boxes in the amount row independently of the number's font height. */
 .program-page .price-strip { grid-template-columns:24% 24% minmax(0,1fr);align-items:center;row-gap:0; }
 .program-page .price-strip>.price-person { margin:0; }
 .program-page .price-strip>.price-tag {
  position:relative;left:1vw;
  display:flex;align-items:center;justify-content:center;align-self:center;
  height:clamp(26px,6.933333vw,48px);min-width:0;box-sizing:border-box;
  margin:3.2vw .5vw;padding:0 .5vw;background:#fff;
  font-size:2.666667vw;line-height:1.5;text-align:center;
 }
 .program-page .price-strip>.price-amount {
  display:flex;align-items:baseline;justify-content:flex-end;align-self:center;
  flex-wrap:nowrap;gap:0;min-width:0;margin:0;padding:1vw 2vw 1vw 0;
 }
 /* Only the first column gets a fixed width; the content column fills the rest. */
 .program-page .program-conditions table { width:100%;min-width:136.533333vw;table-layout:fixed; }
 .program-page .program-conditions tr>th:first-child { width:37.333333vw; }
 .program-page .program-conditions thead th:nth-child(2) { width:auto; }
 .program-page .program-conditions :is(th,td) { box-sizing:border-box; }
 .ak-program-form .application-side .application-total>p>strong { font-size:24px;min-width:0; }
 .ak-program-form .application-side .application-total>p>strong small { font-size:14px; }
 .ak-program-form .application-side .ak-total-display strong { font-size:clamp(22px,7vw,32px); }
 .ak-program-form .application-side .ak-total-display small { font-size:12px;white-space:nowrap; }
 /* Keep badges next to the label instead of in the old right-side grid. */
 .contact-page .ak-contact-form .smf-item__label__text {
  display:flex;justify-content:flex-start;align-items:center;gap:12px;width:auto;flex-wrap:wrap;padding:0;
 }
 .contact-page .ak-contact-form .smf-item__label__text :is(.required,.optional) { margin:0!important;flex:none; }
 .ak-form-screen-notice { margin-bottom:24px;font-size:14px; }
 .ak-form-screen-notice .program-section-title { font-size:20px;line-height:1.5; }
}

/* Keep the desktop feature boxes centered with matching heights as well. */
@media(min-width:769px) {
 .program-page .price-strip>.price-tag {
  display:flex;align-items:center;justify-content:center;
  height:48px;margin-inline:4px;padding:0 4px;box-sizing:border-box;line-height:1.5;
 }
}
