/* Shared presentation only; native search, notice and purchase behavior stays intact. */
body {
  --pp-accent: #ed2939;
  --pp-accent-dark: #c8202f;
  --wd-primary-color: var(--pp-accent);
  --btn-accented-bgcolor: var(--pp-accent);
  --btn-accented-bgcolor-hover: var(--pp-accent-dark);
  --ppmm-trigger-accent: var(--pp-accent);
  --notices-success-bg: #edf8f0;
  --notices-success-color: #24643b;
  --notices-warning-bg: #fff7e8;
  --notices-warning-color: #805b1f;
}
body.home { --pp-accent: #ed2939; }
body.woocommerce-account { --pp-account-accent: var(--pp-accent); }
body #ppmm-panel { --ppmm-accent: var(--pp-accent); }
body .ppoffer { --ppoffer-red: var(--pp-accent); }
body .tsfa { --tsfa-accent: var(--pp-accent); }
body.woocommerce-account .main-page-wrapper :is(.wd-registration-page,.lost_reset_password) :is(button[type=submit],.wd-switch-to-register) { background: var(--pp-accent); }
body.woocommerce-account .main-page-wrapper :is(.wd-registration-page,.lost_reset_password) :is(button[type=submit],.wd-switch-to-register):hover,
body.woocommerce-account .main-page-wrapper .woocommerce-MyAccount-content :is(.button,button[type=submit]):hover { background: var(--pp-accent-dark); }
body .ppmn-menu :is(details[open]>summary,a[aria-current=page],.ppmn-all),
body.ppmn-ready .ppmn-bar :is(button,a)[aria-expanded=true],
body.ppmn-ready:not(.ppmn-open) .ppmn-bar a[aria-current=page] { color: var(--pp-accent); }
body :is(.ppmn-dialog,.ppmn-bar) :focus-visible { outline-color: var(--pp-accent); }

/* Informational states are neutral, with a brand accent; errors remain distinct. */
body .main-page-wrapper :is(.woocommerce-info,.wd-notice.wd-info),
body.woocommerce-account .main-page-wrapper .woocommerce-info {
  background: #fff;
  color: #454a52;
  border: 1px solid #e3e5e8;
  border-inline-start: 3px solid var(--pp-accent);
  border-radius: 12px;
  box-shadow: none;
}
body .main-page-wrapper :is(.woocommerce-info,.wd-notice.wd-info)::before { color: var(--pp-accent); }
body :is(.woocommerce-error,.wd-notice.wd-error) { background: #fff0f2; color: #a51e2b; border-radius: 12px; }
body :is(.woocommerce-message,.wd-notice.wd-success) { border-radius: 12px; }
body :is(.woocommerce-info,.woocommerce-error,.woocommerce-message,.wd-notice) :is(a:not(.button),.amount) { color: inherit; }

/* Reserve both ends in every AJAX search, including the results-page form. */
body .searchform.woodmart-ajax-search input.s { padding-right: 48px; padding-left: 44px; }
body .searchform.woodmart-ajax-search .wd-clear-search {
  inset-inline: auto;
  right: auto;
  left: 8px;
  top: 50%;
  bottom: auto;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}
body .searchform.woodmart-ajax-search .searchsubmit,
body .searchform.woodmart-ajax-search.wd-search-loading .searchsubmit {
  inset-inline: auto;
  right: 0;
  left: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
body .searchform.woodmart-ajax-search .searchsubmit::before {
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  margin-left: -9px;
}
body .searchform.woodmart-ajax-search .wd-clear-search:focus-visible { outline: 2px solid var(--pp-accent); outline-offset: 1px; border-radius: 50%; }

/* An off-canvas sidebar must not reserve a column for an empty result. */
body .wd-content-layout:has(> .wd-sidebar.wd-side-hidden):has(.woocommerce-no-products-found) > .wd-content-area { grid-column: 1 / -1; }

/* Compact spacing for the offer guide, without altering its content or controls. */
body .ppoffer { padding-bottom:32px; line-height:1.7; }
.ppoffer .ppoffer-breadcrumb { margin-bottom:14px; }
.ppoffer .ppoffer-hero { gap:18px; }
.ppoffer .ppoffer-intro, .ppoffer .ppoffer-help { padding:22px; }
.ppoffer h1 { margin:4px 0 8px; }
.ppoffer .ppoffer-product-search { margin:16px 0 10px; padding:4px; }
.ppoffer .ppoffer-product-search input[type=search] { height:40px; }
.ppoffer .ppoffer-product-search button { padding:8px 20px; }
.ppoffer .ppoffer-help-icon { padding:8px; margin-bottom:8px; }
.ppoffer .ppoffer-phone { margin:6px 0; }
.ppoffer .ppoffer-jumps { gap:8px; margin:18px 0 24px; }
.ppoffer .ppoffer-jumps a { padding:8px 18px; }
.ppoffer .ppoffer-section { margin-bottom:32px; }
.ppoffer .ppoffer-section h2 { margin-bottom:14px; }
.ppoffer .ppoffer-section h3 { margin:12px 0; }
.ppoffer .ppoffer-roots { gap:12px; margin-bottom:18px; }
.ppoffer .ppoffer-roots>a { gap:8px; padding:14px 10px; }
.ppoffer .ppoffer-roots>a>span .ppmm-icon { width:34px; height:34px; }
.ppoffer .ppoffer-roots strong { min-height:0; line-height:1.6; }
.ppoffer .ppoffer-categories a { padding:10px 12px; min-height:44px; }
.ppoffer .ppoffer-search { margin-bottom:16px; padding:6px 16px; }
.ppoffer .ppoffer-grid { gap:10px; }
.ppoffer .ppoffer-grid a { min-height:56px; padding:10px 18px; }
.ppoffer .ppoffer-initial { font-size:48px; line-height:56px; }
.ppoffer .ppoffer-brand .ppoffer-grid a { min-height:44px; padding:8px 14px; }
.ppoffer .ppoffer-alphabet { margin-bottom:14px; }
.ppoffer .ppoffer-more { margin-top:14px; padding:8px 16px; }
@media (max-width:767px) {
  .ppoffer .ppoffer-intro, .ppoffer .ppoffer-help { padding:16px; }
  .ppoffer .ppoffer-hero { gap:12px; }
  .ppoffer .ppoffer-jumps { margin:14px 0 20px; }
  .ppoffer .ppoffer-jumps a { padding:8px 12px; }
  .ppoffer .ppoffer-section { margin-bottom:26px; }
  .ppoffer .ppoffer-roots>a { padding:12px 8px; }
  .ppoffer .ppoffer-grid a { padding:8px 12px; }
}

/* Keep offer labels on one line while preserving the full text and links. */
.ppoffer .ppoffer-grid a > bdi { flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ppoffer .ppoffer-grid a > :is(.ppmm-icon,.ppoffer-initial) { flex-shrink:0; }

/* Archive search hero; do not change the protected drawing viewer. */
body .tsfa:not(.tsfa-single) .tsfa-search-block {
  padding:64px 28px; margin-bottom:28px; border:0; border-radius:10px;
  background:linear-gradient(90deg,#30323bd9,#30323bd9),url("assets/schemes-background.svg") center/cover;
  text-align:center;
}
body .tsfa:not(.tsfa-single) .tsfa-search-title { color:#fff; font-size:28px; font-weight:400; margin:0 0 28px; }
body .tsfa:not(.tsfa-single) .tsfa-search-form {
  --tsfa-field-height:44px; --tsfa-field-font-size:14px; --tsfa-search-button-width:112px;
  max-width:720px!important; margin:0 auto!important; padding:0!important; gap:14px!important;
  background:transparent; border:0; border-radius:0; box-shadow:none;
}
body .tsfa:not(.tsfa-single) .tsfa-search-input-wrap { padding:0 18px!important; background:#fff; border-radius:30px; }
body .tsfa:not(.tsfa-single) .tsfa-search-form > .tsfa-button { border-radius:30px; font-weight:500; font-size:14px; box-shadow:none; }
body .tsfa:not(.tsfa-single) .tsfa-search-form:focus-within { background:transparent; box-shadow:none; }
body .tsfa:not(.tsfa-single) .tsfa-search-input-wrap:focus-within { outline:2px solid #fff; outline-offset:3px; }
@media(max-width:600px) {
  body .tsfa:not(.tsfa-single) .tsfa-search-block { padding:36px 16px; }
  body .tsfa:not(.tsfa-single) .tsfa-search-title { font-size:22px; margin-bottom:22px; }
  body .tsfa:not(.tsfa-single) .tsfa-search-form { --tsfa-search-button-width:82px; --tsfa-field-font-size:12px; gap:8px!important; }
  body .tsfa:not(.tsfa-single) .tsfa-search-input-wrap { padding:0 10px!important; }
}
