body.kp-app-ui {
  position:relative;
  isolation:isolate;
  min-height:100vh;
  min-height:100dvh;
  --paper:#f3f8fc;
  --ink:#061b50;
  --muted:#41566f;
  --line:#b8ddf5;
  --accent:#0064dc;
  --soft:#e5f6ff;
  --kp-app-blue:#0064dc;
  --kp-app-cyan:#20c5ef;
  --kp-app-green:#67edb3;
  --kp-app-action:linear-gradient(110deg,#0064dc 0%,#0073cf 100%);
  --aurora-action:var(--kp-app-action);
  --aurora-pale:linear-gradient(120deg,#eefaff,#ddf7fa);
  background:var(--paper);
  color:var(--ink);
  color-scheme:light;
}
body.kp-app-ui::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse 76% 285px at -9% 50px,#d5e8fc 0 72%,transparent 73%),
    radial-gradient(ellipse 90% 350px at 103% -40px,#e0f3e9 0 73%,transparent 74%),
    radial-gradient(ellipse 100% 410px at -12% 115px,#e0f3f9 0 76%,transparent 77%),
    radial-gradient(ellipse 60% 260px at 123% 410px,#daeafb 0 76%,transparent 77%),
    radial-gradient(ellipse 100% 310px at 115% 440px,#e4f5ef 0 78%,transparent 79%),
    radial-gradient(ellipse 95% 170px at -22% 760px,#e0f1f8 0 78%,transparent 79%),
    radial-gradient(ellipse 90% 170px at 115% 970px,#e2f1f8 0 78%,transparent 79%),
    linear-gradient(145deg,#f0f6fc,#f8fbfd 65%,#f0f8f7);
  background-repeat:no-repeat;
}
.kp-app-ui :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #00479f;outline-offset:4px}
.kp-app-ui :is(input,select,textarea) {border-color:#a9cbe6;border-radius:14px}
.kp-app-ui :is(input[type=checkbox],input[type=radio]) {accent-color:#0064dc}
.kp-app-ui .site-header {
  width:min(1160px,calc(100% - 48px));margin:24px auto 0;
  border:1.5px solid #fffffff2;border-radius:999px;
  background:linear-gradient(110deg,#fffffff5,#f3fafff5 65%,#f4fcf7f5);
  box-shadow:inset 0 1px 1px #fff,0 9px 28px #0066a619;
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
.kp-app-ui .site-header:after {display:none}
.kp-app-ui .header-inner {width:calc(100% - 44px);min-height:76px;display:flex;flex-wrap:nowrap;gap:18px;padding-block:11px}
.kp-app-ui .kp-store-title {flex:1 1 0%;min-width:0;color:var(--ink);white-space:normal;overflow-wrap:anywhere;font-size:18px;font-weight:700;line-height:1.55;text-shadow:none}
.kp-app-ui .kp-header-actions {flex:0 0 auto;gap:12px}
.kp-app-ui .kp-header-cart {
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  width:52px;height:52px;min-height:44px;min-width:44px;
  color:#0069d9;background:linear-gradient(145deg,#f4feffed,#c9efffcf);border:1.5px solid #ffffffdc;border-radius:50%;box-shadow:inset 0 2px 5px #fff,0 5px 16px #0095d51f;
}
.kp-app-ui .kp-header-cart:hover {background:#bdecff}
.kp-app-ui .kp-store-title:focus-visible,.kp-app-ui .kp-header-cart:focus-visible,.kp-app-ui .kp-header-menu>summary:focus-visible {outline-color:#00479f}
.kp-app-ui .kp-header-cart svg {width:22px;height:22px}
.kp-app-ui .kp-header-cart-label {font-size:10px;line-height:1.3;font-weight:700}
.kp-app-ui .kp-cart-count {top:-5px;right:-5px;min-width:21px;height:21px;padding:0 4px;font-size:12px;color:#fff;background:#007f76;border:2px solid #effdff;box-shadow:none}
.kp-app-ui .kp-header-menu>summary {width:50px;height:50px;background:linear-gradient(145deg,#effcffed,#bceaffc9);color:#0069d9;border:1.5px solid #ffffffd9;border-radius:50%;box-shadow:inset 0 2px 5px #ffffffb3,0 5px 15px #0093d315}
.kp-app-ui .kp-hamburger>span {background:#0069d9}
.kp-app-ui .kp-header-menu nav {background:#f7fdfffa;border-color:#cae5f5;border-radius:20px;box-shadow:0 15px 40px #005da32e;backdrop-filter:blur(12px)}
.kp-app-ui .kp-header-menu li a {min-height:44px;color:var(--ink)}
.kp-app-ui .kp-header-menu li a:hover {background:#def5ff;color:#0064c8}
.kp-app-ui .site-footer {background:transparent;border:0;color:var(--muted)}
.kp-app-ui .kp-home .kp-catalog {padding-block:22px 30px}
.kp-app-ui :is(main.kp-page,main.kp-shop) {animation:kp-shell-arrive .22s ease-out both}
@keyframes kp-shell-arrive {from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Keep primary actions recognizable across Classic and Block WooCommerce. */
.kp-app-ui :is(.kp-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button),
.kp-app-ui div.product form.cart .button,
.kp-app-ui.kp-download-flow .woocommerce #place_order {
  min-height:50px;background:var(--kp-app-action);background-color:#0064dc;color:#fff;
  border:1px solid #ffffffc2;border-radius:999px;box-shadow:inset 0 1px 0 #ffffff3d,0 6px 15px #0068cc33;
  font-weight:700;text-shadow:none;filter:none;transition:background .15s,box-shadow .15s,transform .15s;
}
.kp-app-ui :is(.kp-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button):hover,
.kp-app-ui div.product form.cart .button:hover,
.kp-app-ui.kp-download-flow .woocommerce #place_order:hover {
  background:linear-gradient(110deg,#0055bf,#0061b7);color:#fff;border-color:#0064c8;
  box-shadow:0 8px 19px #0064cc40;filter:none;text-decoration:none;
}
.kp-app-ui :is(.kp-button,.woocommerce button.button):active {transform:translateY(1px)}
.kp-app-ui :is(.kp-button,.woocommerce button.button,.wc-block-components-button):disabled,
.kp-app-ui div.product form.cart .button.kp-added-to-cart {
  background:#d7e7f0!important;color:#506b82!important;border-color:#c4d9e6!important;box-shadow:none!important;opacity:1;
}

/* Contextual back link and current position; destinations remain normal URLs. */
.kp-app-navigation {display:flex;justify-content:space-between;align-items:center;gap:15px;max-width:780px;margin:0 auto 22px;padding:12px;background:#fffffff5;border:1px solid #dce7f0;border-radius:20px;box-shadow:0 6px 22px #0067b51a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.kp-app-back {display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:44px;padding:9px 12px;border:1px solid #ffffffdf;border-radius:999px;background:#def5ff;color:#0064c8;box-shadow:none;font-size:13px;font-weight:600;line-height:1.5}
.kp-app-back>span {font-size:22px;line-height:1}
.kp-app-back:hover {background:#c6edff;color:#004d99;text-decoration:none}
.kp-app-steps {display:flex;justify-content:flex-end;gap:9px;min-width:0;list-style:none;padding:0;margin:0}
.kp-app-steps li {font-size:12px;line-height:1.4;color:#4c6e95}
.kp-app-steps li>a,.kp-app-steps li>span {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:3px 5px}
.kp-app-step-number {display:inline-grid;place-items:center;border:0;border-radius:50%;height:24px;width:24px;font-size:12px;font-weight:700;background:#d6ebf8;color:#42698e}
.kp-app-steps .is-current {color:#0064c8;font-weight:700}
.kp-app-steps .is-current .kp-app-step-number {color:#fff;background:#0064dc;box-shadow:0 3px 7px #0068cc25}
.kp-app-steps .is-complete .kp-app-step-number {color:#0064c8;background:#d3f3ff}

/* Product details and the existing mobile purchase bar. */
.kp-app-ui .kp-material-heading {border:1.5px solid #fff;border-radius:23px;box-shadow:0 8px 26px #0071c325;background:#fffffff5;overflow:hidden}
.kp-app-ui .kp-material-identity {background:linear-gradient(110deg,#fff,#f3f9ff 68%,#f2faf6);padding:18px 20px 20px}
.kp-app-ui .kp-material-photo {height:clamp(136px,35vw,210px);background:#d9f4fb}
.kp-app-ui .kp-material-year {border:0;border-radius:8px;background:#c8f0ff;color:#0064c8;padding:4px 9px;font-size:13px}
.kp-app-ui :is(.kp-material-exam,.kp-material-subject) {color:var(--ink)}
.kp-app-ui.kp-material-product div.product p.price {color:#005cc3;font-size:30px;margin:18px 0 12px}
.kp-app-ui .kp-material-filetype {color:#315b80;background:#e7f7ff;border-color:#c7e3f4;border-radius:5px}
.kp-app-ui .kp-material-section {margin:26px 0;padding:20px;background:#ffffffe6;border:1px solid #fff;border-radius:20px;box-shadow:0 5px 18px #0064b51a}
.kp-app-ui .kp-material-section h2 {color:var(--ink);border-left:0;padding-left:0;font-size:20px}
.kp-app-ui .kp-material-delivery {background:linear-gradient(130deg,#edfaff,#e7f7ff);border-color:#c9e5f6}
.kp-app-ui .kp-material-delivery h2 {font-size:17px}
.kp-app-ui :is(.kp-public-sample,.kp-sample-link) {display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 15px;background:#def5ff;color:#0064c8;border:1px solid #ffffffdf;border-radius:14px;box-shadow:none;font-weight:600}
.kp-app-ui :is(.kp-public-sample,.kp-sample-link):hover {background:#c6edff;color:#004d99;filter:none;text-decoration:none}
.kp-app-ui .kp-sample-zoom {background:#fff;color:#0064c8;border:1px solid #c5e3f5;border-radius:16px;box-shadow:none}
.kp-app-ui .kp-sample-zoom-label {background:#e3f6ff;color:#0064c8;border-color:#cae5f5;min-height:44px}
.kp-app-ui .kp-sample-dialog {border:1px solid #cae5f5;border-radius:20px;box-shadow:0 15px 50px #0056a233}
.kp-app-ui .kp-sample-dialog-bar {background:#effaff;border-color:#cce4f3}
.kp-app-ui .kp-sample-close {min-width:44px;min-height:44px;background:#ddf3ff;color:#0064c8;border:1px solid #b4d9f0;border-radius:12px}
.kp-app-pdf-note {display:flex;align-items:center;gap:9px;margin:0 0 15px;padding:10px 12px;color:#456489;background:#e7f6ff;border:0;border-radius:12px;font-size:13px;line-height:1.65}
.kp-app-ui .kp-sticky-purchase {background:#f2fbfff2;border-top:1px solid #c5e4f6;border-radius:22px 22px 0 0;box-shadow:0 -6px 24px #0061ac25;backdrop-filter:blur(16px)}
.kp-app-ui .kp-sticky-purchase .kp-button {min-height:50px;border-radius:999px}
.kp-app-ui .kp-sticky-price strong {color:#005cc3}
.kp-app-ui .kp-sticky-price>span {color:#466793}
.kp-app-ui .kp-school-related {background:#e8f8ffd9;border:1px solid #ffffffd9;border-radius:22px}
.kp-app-ui .kp-school-related .kp-year {background:#fff;border-color:#c8e3f4;border-radius:15px;box-shadow:none}
.kp-app-ui .kp-school-related .kp-year>summary {background:#e5f7ff;color:var(--ink)}
.kp-app-ui .kp-school-related .kp-year-toggle {background:#cceeff;color:#0064c8}
.kp-app-ui .kp-school-related .kp-subject {background:linear-gradient(110deg,#f2fbff,#e5f7ff);border:1px solid #ffffffdf;border-radius:15px;color:#0064c8;box-shadow:0 4px 11px #0071c91a;filter:none}
.kp-app-ui .kp-school-related .kp-subject:hover {background:#d8f3ff;color:#0064c8;border-color:#97d7ff;box-shadow:0 5px 14px #0063b425;filter:none}
.kp-app-ui .kp-school-related .kp-subject-arrow {background:#0072df;color:#fff;border-radius:50%}

/* Purchase cards use real WooCommerce fields and payment controls unchanged. */
.kp-app-ui.kp-download-flow .page-title {font-size:clamp(23px,5.6vw,28px);margin-bottom:22px;font-weight:700;color:var(--ink)}
.kp-app-ui.kp-download-flow :is(.wc-block-cart-items .wc-block-cart-items__row,.wc-block-components-order-summary,.wc-block-components-address-card) {background:#fffffff0;border-color:#cce4f3;border-radius:20px;box-shadow:0 6px 20px #0067b51a}
.kp-app-ui.kp-download-flow .wc-block-cart-items .wc-block-cart-items__row {border:1px solid #fff}
.kp-app-ui.kp-download-flow .wc-block-components-product-name {color:#061b50}
.kp-app-ui.kp-download-flow .wc-block-cart-item__total .wc-block-components-product-price__value {color:#005cc3}
.kp-app-ui.kp-download-flow .wc-block-components-totals-footer-item {border-color:#c6dfef;color:#061b50}
.kp-app-ui.kp-download-flow .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {color:#005cc3}
.kp-app-ui.kp-download-flow .wc-block-checkout:has(.kp-order-heading) .wp-block-woocommerce-checkout-order-summary-block {background:#fffffff2;border:1px solid #cae5f5;border-radius:20px;box-shadow:0 7px 24px #0067b51a}
.kp-app-ui.kp-download-flow .wc-block-checkout:has(.kp-order-heading) .wc-block-components-order-summary {background:transparent;border:0;box-shadow:none;border-radius:0}
.kp-app-ui.kp-download-flow :is(.kp-order-heading,.kp-payment-heading,.wc-block-components-checkout-step__title) {color:#061b50;font-weight:700}
.kp-app-ui.kp-download-flow :is(.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button),
.kp-app-ui.kp-download-flow .woocommerce a.checkout-button,
.kp-app-ui.kp-download-flow .woocommerce #place_order {
  min-height:56px!important;background:#0064dc!important;background-image:var(--kp-app-action)!important;
  color:#fff!important;border:1px solid #ffffffbf!important;border-radius:999px!important;
  box-shadow:0 7px 17px #0064cc40!important;font-weight:700!important;filter:none;
}
.kp-app-ui.kp-download-flow :is(.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button):hover,
.kp-app-ui.kp-download-flow .woocommerce a.checkout-button:hover,
.kp-app-ui.kp-download-flow .woocommerce #place_order:hover {background:#005bc4!important;background-image:linear-gradient(110deg,#0055bf,#0061b7)!important;color:#fff!important;filter:none}
.kp-app-ui.kp-download-flow :is(.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button):disabled,
.kp-app-ui.kp-download-flow .woocommerce #place_order:disabled {background:#d7e7f0!important;background-image:none!important;color:#506b82!important;border-color:#c4d9e6!important;box-shadow:none!important}
.kp-app-ui.kp-download-flow :is(.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input) {background:#fff;border-color:#a9cbe6;border-radius:14px;box-shadow:inset 0 1px 2px #004e8d08}
.kp-app-ui.kp-download-flow :is(.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input):focus {border-color:#0064dc;box-shadow:0 0 0 2px #0064dc1f}
.kp-app-ui.kp-download-flow .kp-card-toggle {background:#def5ff;color:#0064c8;border:1px solid #b4d8f0;border-radius:16px;box-shadow:none;font-weight:700;filter:none}
.kp-app-ui.kp-download-flow .kp-card-toggle:hover {background:#c5edff;color:#0064c8;filter:none}
.kp-app-ui.kp-download-flow .kp-card-toggle[aria-expanded=true] {background:linear-gradient(110deg,#d7f2ff,#e5faff);color:#0064c8;filter:none}
.kp-app-ui.kp-download-flow .kp-card-open .kp-card-toggle {border-radius:16px 16px 0 0}
.kp-app-ui.kp-download-flow .kp-card-disclosure-ready .wc-block-checkout__payment-method {background:#fff;border-color:#b4d8f0;border-radius:0 0 16px 16px}
.kp-app-ui.kp-download-flow .wc-block-cart-item__remove-link {color:#7c4561;text-decoration:underline;text-underline-offset:3px}
.kp-app-ui.kp-download-flow .wc-block-components-checkout-return-to-cart-button {min-height:44px;color:#0064c8;text-decoration:underline;text-underline-offset:3px}
.kp-app-ui .woocommerce-message,.kp-app-ui .wc-block-components-notice-banner.is-success {background:#e7f5ed;border-color:#afd9bf;color:#1d6751}
.kp-app-ui .woocommerce-error,.kp-app-ui .wc-block-components-notice-banner.is-error {background:#fff0f2;border-color:#dea4b0;color:#8a3148}

@media(max-width:768px) {
  .kp-app-ui .kp-container {width:calc(100% - 32px)}
  .kp-app-ui .site-header {width:calc(100% - 26px);margin-top:14px}
  .kp-app-ui .header-inner {width:calc(100% - 30px);gap:10px;min-height:66px;padding-block:8px}
  .kp-app-ui .kp-store-title {max-width:235px;font-size:14px;line-height:1.45}
  .kp-app-ui .kp-header-actions {gap:8px}
  .kp-app-ui .kp-header-cart {width:46px;height:46px}
  .kp-app-ui .kp-header-cart svg {width:21px;height:21px}
  .kp-app-ui .kp-header-cart-label {font-size:9px}
  .kp-app-ui .kp-header-menu>summary {width:44px;height:44px;border-radius:50%}
  .kp-app-ui :is(.kp-page,.kp-shop) {padding-top:22px}
  .kp-app-navigation {gap:9px;margin-bottom:20px;padding:10px;border-radius:18px}
  .kp-app-back {font-size:12px;padding:8px 9px;gap:5px}
  .kp-app-steps {gap:6px}
  .kp-app-steps li {font-size:11px}
  .kp-app-steps li>a,.kp-app-steps li>span {flex-direction:column;gap:4px;padding-inline:2px}
  .kp-app-step-number {width:21px;height:21px;font-size:11px}
  .kp-app-ui .kp-material-identity {padding:15px 16px 17px}
  .kp-app-ui .kp-material-section {padding:17px}
  .kp-app-ui .kp-material-section h2 {font-size:19px}
}
@media(max-width:360px) {
  .kp-app-ui .kp-container {width:calc(100% - 24px)}
  .kp-app-ui .kp-store-title {font-size:13px}
  .kp-app-ui .site-header {width:calc(100% - 20px);margin-top:12px}
  .kp-app-ui .header-inner {width:calc(100% - 24px);gap:8px}
  .kp-app-ui .kp-header-cart {width:44px;height:44px;border-radius:50%}
  .kp-app-ui .kp-header-actions {gap:6px}
  .kp-app-navigation {gap:7px;padding:9px}
  .kp-app-back {font-size:11px;padding-inline:7px}
  .kp-app-steps {gap:4px}
  .kp-app-steps li {font-size:10px}
  .kp-app-pdf-note {font-size:12px;gap:7px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .kp-app-ui :is(button,a,summary) {transition:none}
  .kp-app-ui :is(main.kp-page,main.kp-shop) {animation:none}
}

/* One desktop content width for catalog, product, purchase, and information pages. */
@media(min-width:769px) {
  .kp-app-ui .site-header,
  .kp-app-ui .kp-container:not(.header-inner),
  .kp-app-ui .kp-usage-guide {
    width:min(var(--kp-content-width),calc(100% - var(--kp-content-gutter)));
    max-width:var(--kp-content-width);
  }
  .kp-app-ui .kp-school-picker,
  .kp-app-ui .kp-app-navigation,
  .kp-app-ui.kp-material-product .summary.entry-summary,
  .kp-app-ui .kp-guide,
  .kp-app-ui .kp-guide-shell,
  .kp-app-ui .kp-guide-returnbar,
  .kp-app-ui .kp-guide-fallback,
  .kp-app-ui .kp-guide-years,
  .kp-app-ui .kp-school-picker[data-kp-guided="1"] :is(.kp-school-backbar,.kp-school-header,.kp-school-entry,.kp-school-status:not(:empty)) {
    max-width:var(--kp-content-width);
  }
}
