/* Saitta School UX Suite: focused polish layer for the existing theme/Core. */
:root {
  --ssu-yellow: #ffdc19;
  --ssu-ink: #121212;
  --ssu-paper: #fffdf4;
  --ssu-green: #d9f9d7;
  --ssu-muted: #716b61;
}

html { scroll-behavior: smooth; }
#school, #shop { scroll-margin-top: 104px; }

/* Keep product imagery clean even if an older theme adds decorative pseudo-shapes. */
.ssc-product-photo::before,
.ssc-product-photo::after,
.product-photo::before,
.product-photo::after {
  display: none !important;
  content: none !important;
}
.ssc-product-photo,
.product-photo {
  background: #f7f4eb !important;
}

/* The first required checkout fields deserve a visual priority. */
.woocommerce-checkout #ssc_parent_name_field,
.woocommerce-checkout #ssc_child_name_field,
.woocommerce-checkout .ssu-parent-name-field,
.woocommerce-checkout .ssu-child-name-field {
  padding: 13px 14px;
  border: 2px solid var(--ssu-ink);
  border-radius: 14px;
  background: #fff8ce;
}
.woocommerce-checkout #ssc_parent_name_field label,
.woocommerce-checkout #ssc_child_name_field label,
.woocommerce-checkout .ssu-parent-name-field label,
.woocommerce-checkout .ssu-child-name-field label {
  color: var(--ssu-ink);
  font-weight: 950;
}
.woocommerce-checkout #ssc_parent_name_field input,
.woocommerce-checkout #ssc_child_name_field input,
.woocommerce-checkout .ssu-parent-name-field input,
.woocommerce-checkout .ssu-child-name-field input {
  background: #fff;
}

.ssu-school-summary {
  margin: 0 0 22px;
  padding: 15px 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 2px solid var(--ssu-ink);
  border-radius: 17px;
  background: var(--ssu-green);
  box-shadow: 5px 5px 0 var(--ssu-ink);
}
.ssu-school-summary div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ssu-school-summary small { font-size: 8px; font-weight: 950; letter-spacing: 1px; }
.ssu-school-summary strong { font-size: 15px; line-height: 1.2; }
.ssu-school-summary span { color: #4d694e; font-size: 9px; font-weight: 750; }
.ssu-school-summary a {
  flex: 0 0 auto;
  min-height: 39px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--ssu-ink);
  color: #fff;
  font-size: 9px;
  font-weight: 950;
  text-decoration: none;
}

/* Express wallets are hidden at the presentation layer as a safety net. The
 * PHP filters also disable the known gateway hooks while cart/checkout is open. */
.woocommerce-cart .wc-block-components-express-payment,
.woocommerce-checkout .wc-block-components-express-payment,
.woocommerce-cart .wcpay-express-checkout-wrapper,
.woocommerce-checkout .wcpay-express-checkout-wrapper,
.woocommerce-cart .wcpay-payment-request-wrapper,
.woocommerce-checkout .wcpay-payment-request-wrapper,
.woocommerce-cart .payment-request-button,
.woocommerce-checkout .payment-request-button {
  display: none !important;
}

/* The quick bar is deliberately mobile-only: it keeps the next action reachable
 * without covering the desktop composition. */
.ssu-mobile-quickbar { display: none; }

@media (max-width: 760px) {
  body.ssu-has-quickbar { padding-bottom: 82px; }
  .ssu-mobile-quickbar {
    position: fixed;
    z-index: 9998;
    left: 8px;
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    min-height: 61px;
    padding: 7px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 6px;
    border: 2px solid var(--ssu-ink);
    border-radius: 17px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 5px 5px 0 var(--ssu-yellow);
    backdrop-filter: blur(12px);
  }
  .ssu-quick-school { min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: 0 5px; }
  .ssu-quick-school small { font-size: 7px; font-weight: 950; letter-spacing: .9px; }
  .ssu-quick-school b { overflow: hidden; font-size: 9px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
  .ssu-mobile-quickbar a {
    min-height: 44px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 11px;
    background: #f4f1e8;
    color: var(--ssu-ink);
    font-size: 9px;
    font-weight: 950;
    text-decoration: none;
    white-space: nowrap;
  }
  .ssu-mobile-quickbar .ssu-quick-cart,
  .ssu-mobile-quickbar .ssu-primary-quick-action { background: var(--ssu-ink); color: #fff; }
  .ssu-quick-cart b { min-width: 18px; min-height: 18px; padding: 0 4px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: var(--ssu-yellow); color: var(--ssu-ink); font-size: 8px; }
  .ssu-cart-quickbar { grid-template-columns: minmax(0, 1fr) auto; }

  .ssu-school-summary { align-items: flex-start; padding: 13px; }
  .ssu-school-summary strong { font-size: 13px; }
  .ssu-school-summary a { min-height: 36px; }

  .woocommerce-checkout #ssc_parent_name_field,
  .woocommerce-checkout #ssc_child_name_field,
  .woocommerce-checkout .ssu-parent-name-field,
  .woocommerce-checkout .ssu-child-name-field { padding: 11px; }

  .ssc-config-panel,
  .ssc-popup-dialog { max-height: calc(100svh - 14px); }
  .ssc-config-head img,
  .ssc-product-photo img,
  .product-photo img { object-fit: contain !important; }
  .ssc-config-panel .ssc-add-button { min-height: 52px; }
}

@media (max-width: 390px) {
  .ssu-mobile-quickbar { grid-template-columns: minmax(0, 1fr) auto; }
  .ssu-mobile-quickbar .ssu-quick-products { display: none; }
  .ssu-mobile-quickbar a { padding: 0 9px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ssu-mobile-quickbar,
  .ssu-mobile-quickbar * { transition: none !important; animation: none !important; }
}

