:root{
  --dgpf-primary:var(--wd-primary-color,#3155f5);
  --dgpf-surface:#fff;
  --dgpf-soft:#f6f7f9;
  --dgpf-border:#e3e6eb;
  --dgpf-text:var(--wd-title-color,#242424);
  --dgpf-muted:var(--wd-text-color,#7a7a7a);
  --dgpf-success:#207a43;
  --dgpf-success-bg:#eefaf2;
  --dgpf-radius:14px;
}

.dgpf-archive-slot,.dgpf-finder,.dgpf-finder *,.dgpf-modal,.dgpf-modal *,.dgpf-product-box,.dgpf-product-box *{box-sizing:border-box}
.dgpf-archive-slot{width:100%;max-width:100%;clear:both;margin:0 0 22px!important}

/* Category finder: intentionally flat. No custom border or shadow. */
.dgpf-finder{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.6fr);gap:26px;align-items:center;width:100%;max-width:100%;padding:20px 22px;margin:0;background:#fff;border:0!important;border-radius:var(--dgpf-radius);box-shadow:none!important;overflow:hidden}
.dgpf-finder__intro{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;min-width:0}
.dgpf-finder__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f2f5ff;color:var(--dgpf-primary)}
.dgpf-finder__icon svg{display:block;width:25px;height:25px}
.dgpf-finder__intro h3{margin:0 0 4px!important;font-size:19px!important;line-height:1.25!important;font-weight:700!important;color:var(--dgpf-text)!important}
.dgpf-finder__intro p{margin:0!important;font-size:13px!important;line-height:1.5!important;color:var(--dgpf-muted)!important}
.dgpf-finder__controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(190px,.82fr);gap:10px;align-items:end;min-width:0;margin:0!important;padding:0!important;border:0!important}
.dgpf-inline-field,.dgpf-inline-action{min-width:0;max-width:100%}
.dgpf-inline-field__label{display:flex!important;align-items:center!important;gap:7px!important;min-height:20px;margin:0 0 7px!important;font-size:11px!important;line-height:1.2!important;font-weight:600!important;color:#6f7480!important;white-space:nowrap}
.dgpf-inline-field__label b{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#f1f4ff;color:var(--dgpf-primary);font-size:10px!important;font-weight:700!important}
.dgpf-inline-field__label--spacer{visibility:hidden}
.dgpf-inline-select{appearance:none;-webkit-appearance:none;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px;width:100%!important;max-width:100%!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 14px!important;border:1px solid var(--dgpf-border)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;color:var(--dgpf-text)!important;font:inherit!important;font-size:14px!important;font-weight:650!important;line-height:1.2!important;text-align:left!important;text-transform:none!important;cursor:pointer!important}
.dgpf-inline-select svg{display:block;flex:0 0 17px;width:17px;height:17px;color:#8c929d}
.dgpf-inline-select:disabled{background:#fafafa!important;color:#b4b8bf!important;border-color:#eceef2!important;cursor:not-allowed!important;opacity:1!important}
.dgpf-inline-select:not(:disabled):hover,.dgpf-inline-select:not(:disabled):focus{border-color:var(--wd-form-brd-color-focus,var(--dgpf-primary))!important;outline:0!important}
.dgpf-theme-button,.dgpf-inline-apply{width:100%;min-width:0;min-height:46px!important;height:46px!important;margin:0!important;padding-inline:20px!important;border:0!important;border-radius:999px!important;background:var(--wd-primary-color,var(--dgpf-primary))!important;color:#fff!important;box-shadow:none!important;font-weight:700!important;white-space:nowrap!important}.dgpf-theme-button:hover,.dgpf-inline-apply:hover{filter:brightness(.94);color:#fff!important}
.dgpf-finder__active{grid-column:1/-1;display:flex;align-items:center;gap:9px;min-width:0;margin-top:-8px;padding:10px 12px;border-radius:10px;background:var(--dgpf-success-bg);color:#315c40}
.dgpf-finder__active[hidden]{display:none!important}
.dgpf-finder__active-check{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border-radius:50%;background:#d9f2e2;color:var(--dgpf-success);font-weight:800}
.dgpf-finder__active>span:nth-child(2){display:flex;gap:6px;align-items:baseline;min-width:0;flex:1}
.dgpf-finder__active small{font-size:11px;color:#64816e}.dgpf-finder__active strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#244b31}
.dgpf-link-button{appearance:none;border:0!important;background:transparent!important;box-shadow:none!important;padding:3px 5px!important;color:var(--dgpf-primary)!important;font:inherit!important;font-size:12px!important;font-weight:700!important;cursor:pointer}.dgpf-link-button--muted{color:#777d87!important}

/* Modal */
html.dgpf-modal-open,body.dgpf-modal-open{overflow:hidden!important}
.dgpf-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,visibility .16s ease}
.dgpf-modal[aria-hidden="false"]{opacity:1;visibility:visible;pointer-events:auto}
.dgpf-modal__backdrop{position:absolute;inset:0;background:rgba(12,18,30,.48);backdrop-filter:blur(3px)}
.dgpf-modal__dialog{position:relative;width:min(760px,calc(100vw - 40px));max-height:calc(100dvh - 48px);overflow:auto;padding:28px;background:#fff;border:0!important;border-radius:18px;box-shadow:0 18px 45px rgba(12,18,30,.16)}
.dgpf-modal__close{position:absolute!important;top:16px!important;right:16px!important;left:auto!important;z-index:5;display:grid!important;place-items:center!important;width:38px!important;height:38px!important;margin:0!important;padding:0!important;border:1px solid var(--dgpf-border)!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;color:#373b42!important;font-size:22px!important;line-height:1!important;cursor:pointer!important}
.dgpf-modal__close:hover{background:#f7f8fa!important}
.dgpf-modal__topline{padding-right:52px}.dgpf-modal__topline h3{margin:0!important;font-size:18px!important;line-height:1.3!important;font-weight:700!important;color:var(--dgpf-text)!important}
.dgpf-stepper{display:flex;align-items:center;gap:9px;margin:22px 0 24px}
.dgpf-stepper__item{display:flex;align-items:center;gap:7px;min-width:0;color:#9da3ad;font-size:11px;font-weight:600;white-space:nowrap}.dgpf-stepper__number{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1px solid #d8dce3;border-radius:50%;background:#fff;color:#777e89;font-size:10px}.dgpf-stepper__item.is-active{color:var(--dgpf-text)}.dgpf-stepper__item.is-active .dgpf-stepper__number,.dgpf-stepper__item.is-complete .dgpf-stepper__number{border-color:var(--dgpf-primary);background:var(--dgpf-primary);color:#fff}.dgpf-stepper__line{flex:1;min-width:30px;height:1px;background:#e0e3e8}.dgpf-stepper__line.is-complete{background:var(--dgpf-primary)}
.dgpf-step-body{min-height:220px}.dgpf-step-backlink{appearance:none;border:0!important;background:transparent!important;box-shadow:none!important;margin:0 0 8px!important;padding:0!important;color:#616773!important;font:inherit!important;font-size:12px!important;cursor:pointer}.dgpf-step-backlink[hidden]{display:none!important}
.dgpf-step-kicker{font-size:10px;font-weight:800;letter-spacing:.07em;color:var(--dgpf-primary)}.dgpf-step-body h4{margin:5px 0 16px!important;font-size:24px!important;line-height:1.25!important;font-weight:700!important;color:var(--dgpf-text)!important}
.dgpf-search-wrap{position:relative;margin-bottom:14px}.dgpf-search-wrap[hidden]{display:none!important}.dgpf-search{width:100%!important;height:45px!important;margin:0!important;padding:0 13px!important;border:1px solid var(--dgpf-border)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;font-size:13px!important}.dgpf-search:focus{border-color:var(--dgpf-primary)!important;outline:0!important}.dgpf-search-icon{display:none}
.dgpf-options{display:grid;gap:10px;min-width:0}.dgpf-options--brands{grid-template-columns:repeat(3,minmax(0,1fr))}.dgpf-options--models{grid-template-columns:repeat(2,minmax(0,1fr));max-height:390px;overflow:auto;padding-right:3px}
.dgpf-choice{appearance:none;position:relative;display:flex!important;align-items:center!important;gap:12px;width:100%!important;min-width:0!important;min-height:56px!important;margin:0!important;padding:10px 12px!important;border:1px solid var(--dgpf-border)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;color:var(--dgpf-text)!important;font:inherit!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important;text-align:left!important;text-transform:none!important;cursor:pointer!important}.dgpf-choice:hover{border-color:#c9ced7!important;background:#fafbfc!important}.dgpf-choice.is-selected{border-color:var(--dgpf-primary)!important;background:#f4f6ff!important;box-shadow:inset 0 0 0 1px var(--dgpf-primary)!important}
.dgpf-choice__brand-mark{display:flex;align-items:center;justify-content:center;flex:0 0 84px;width:84px;height:42px;padding:0 2px;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible;color:#333;font-size:11px;font-weight:800}.dgpf-choice__brand-mark img{display:block;max-width:84px;max-height:36px;width:auto;height:auto;object-fit:contain;object-position:center}.dgpf-choice__dot{flex:0 0 8px;width:8px;height:8px;border:1.5px solid #c4c9d1;border-radius:50%}.dgpf-choice.is-selected .dgpf-choice__dot{border:3px solid var(--dgpf-primary)}
.dgpf-choice--brand{justify-content:center!important;padding-right:38px!important}.dgpf-choice--brand .dgpf-choice__brand-mark{flex:0 0 84px}.dgpf-choice--brand .dgpf-choice__name{flex:0 1 auto;text-align:center}.dgpf-choice--brand .dgpf-choice__selected{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.dgpf-choice__name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px!important;font-weight:650!important}.dgpf-choice__selected{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:var(--dgpf-primary);color:#fff;font-size:10px;opacity:0}.dgpf-choice.is-selected .dgpf-choice__selected{opacity:1}
.dgpf-empty{padding:16px;border-radius:8px;background:#fafafa;color:#777;font-size:13px}.dgpf-empty[hidden]{display:none!important}.dgpf-loading{grid-column:1/-1;display:flex;justify-content:center;gap:5px;padding:40px}.dgpf-loading span{width:7px;height:7px;border-radius:50%;background:#c8cdd5;animation:dgpfPulse .9s infinite alternate}.dgpf-loading span:nth-child(2){animation-delay:.15s}.dgpf-loading span:nth-child(3){animation-delay:.3s}@keyframes dgpfPulse{to{opacity:.28;transform:translateY(-2px)}}
.dgpf-modal__footer{display:flex;justify-content:flex-start;margin-top:20px;padding-top:17px;border-top:1px solid var(--dgpf-border)}.dgpf-secondary-action{min-height:42px!important;padding:0 18px!important;border:0!important;border-radius:var(--btn-default-brd-radius,var(--wd-form-brd-radius,6px))!important;background:var(--btn-default-bgcolor,#f3f3f3)!important;color:var(--btn-default-color,#333)!important;box-shadow:none!important;font:inherit!important;font-size:13px!important;font-weight:600!important;cursor:pointer}
.dgpf-confirm{padding:36px 10px 4px;text-align:center}.dgpf-confirm[hidden]{display:none!important}.dgpf-confirm__check{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 18px;border-radius:50%;background:#e5f6ea;color:#18813d;font-size:38px;font-weight:700}.dgpf-confirm h3{margin:0 0 8px!important;font-size:23px!important;color:var(--dgpf-text)!important}.dgpf-confirm>strong{display:block;margin-bottom:6px;font-size:16px}.dgpf-confirm p{margin:0 0 24px;color:var(--dgpf-muted)}.dgpf-confirm__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:480px;margin:0 auto}.dgpf-confirm__actions .button{min-height:44px!important}.dgpf-confirm__trust{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 22px;margin-top:25px;padding-top:17px;border-top:1px solid var(--dgpf-border);font-size:11px;color:#707682}

/* Product/Quick View: native WooCommerce selects remain the variation source of truth; DG only enhances presentation. */
.dgpf-product-box{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;margin:0 0 16px;padding:12px 14px;background:var(--dgpf-success-bg)!important;border:0!important;border-radius:10px!important;box-shadow:none!important}.dgpf-product-box[hidden]{display:none!important}.dgpf-product-box__icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#d9f2e2;color:var(--dgpf-success);font-weight:800}.dgpf-product-box__copy{display:flex;flex-direction:column;min-width:0}.dgpf-product-box__copy small{margin:0 0 2px!important;font-size:11px!important;line-height:1.2!important;color:#5c8169!important}.dgpf-product-box__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px!important;line-height:1.3!important;color:#244b31!important}.dgpf-product-box__change{min-height:40px!important;height:40px!important;margin:0!important;padding:0 18px!important;border:0!important;border-radius:999px!important;background:var(--wd-primary-color,var(--dgpf-primary))!important;color:#fff!important;white-space:nowrap!important;box-shadow:none!important;font-weight:700!important}.dgpf-product-box__change:hover{filter:brightness(.94);color:#fff!important}
:is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-hide-parent){display:none!important}
:is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-model-native) th.label{width:180px!important;min-width:180px!important;padding-right:18px!important;vertical-align:middle!important}:is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-model-native) th.label label{display:block!important;margin:0!important;color:var(--wd-title-color,#242424)!important;font-size:16px!important;line-height:1.35!important;font-weight:700!important}:is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-model-native) td.value{position:relative;width:auto!important;padding-left:0!important;vertical-align:middle!important}:is(.single-product,.product-quick-view) form.variations_form select.dgpf-model-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important;overflow:hidden!important}:is(.single-product,.product-quick-view) form.variations_form .dgpf-product-model-trigger{appearance:none;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px;width:100%!important;min-height:48px!important;margin:0!important;padding:0 14px!important;border:1px solid var(--dgpf-border)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;color:var(--dgpf-text)!important;font:inherit!important;font-size:15px!important;font-weight:650!important;line-height:1.2!important;text-align:left!important;cursor:pointer!important}:is(.single-product,.product-quick-view) form.variations_form .dgpf-product-model-trigger:hover,:is(.single-product,.product-quick-view) form.variations_form .dgpf-product-model-trigger:focus{border-color:var(--dgpf-primary)!important;background:#fff!important;outline:0!important}:is(.single-product,.product-quick-view) form.variations_form .dgpf-product-model-trigger svg{flex:0 0 18px;width:18px;height:18px;color:#8d94a0}:is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-model-native) .wd-reset-var,:is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-model-native) .reset_variations{display:none!important}
.dgpf-card-badge{display:flex;align-items:center;gap:5px;margin-top:5px;color:#2d7a46;font-size:11px}.dgpf-card-badge span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#e3f6e9;color:#238146;font-size:9px}


/* v0.4.6: keep the category CTA comfortably inside the pill on desktop. */
@media (min-width:1024px){
  .dgpf-inline-action{min-width:190px!important}
  .dgpf-inline-apply{
    min-width:190px!important;
    padding-inline:24px!important;
    font-size:13.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

/* Tablet */
@media (max-width:1023px){
  .dgpf-finder{grid-template-columns:1fr;gap:16px;padding:18px}
  .dgpf-finder__controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .dgpf-inline-action{grid-column:1/-1}.dgpf-inline-field__label--spacer{display:none}.dgpf-inline-apply{width:100%!important}
  .dgpf-finder__active{margin-top:0}
  .dgpf-options--brands{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile */
@media (max-width:767px){
  .dgpf-archive-slot{margin-bottom:14px!important}
  .dgpf-finder{display:block!important;width:100%!important;padding:14px!important;border-radius:12px!important;overflow:hidden!important}
  .dgpf-finder__intro{grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:start}
  .dgpf-finder__icon{width:40px;height:40px}.dgpf-finder__icon svg{width:21px;height:21px}
  .dgpf-finder__intro h3{font-size:17px!important;line-height:1.28!important}.dgpf-finder__intro p{font-size:12px!important;line-height:1.45!important}
  .dgpf-finder__controls{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;margin-top:14px!important;padding-top:14px!important;border-top:1px solid #eceef1!important}
  .dgpf-inline-field__label{font-size:12px!important;white-space:normal!important}.dgpf-inline-select{height:46px!important;min-height:46px!important;font-size:14px!important}.dgpf-inline-action{grid-column:auto!important}.dgpf-inline-apply{height:46px!important;min-height:46px!important;width:100%!important}
  .dgpf-finder__active{display:grid;grid-template-columns:23px minmax(0,1fr);gap:8px;margin-top:12px}.dgpf-finder__active>span:nth-child(2){display:block}.dgpf-finder__active small,.dgpf-finder__active strong{display:block}.dgpf-finder__active .dgpf-link-button{grid-column:2;justify-self:start;padding-left:0!important}

  .dgpf-modal{align-items:flex-end;justify-content:center;padding:0}
  .dgpf-modal__dialog{width:100%!important;max-width:none!important;max-height:90dvh!important;margin:0!important;padding:20px 14px calc(16px + env(safe-area-inset-bottom))!important;border-radius:18px 18px 0 0!important;overflow-x:hidden!important}
  .dgpf-modal__close{top:10px!important;right:10px!important;width:38px!important;height:38px!important}.dgpf-modal__topline{padding-right:48px}.dgpf-modal__topline h3{font-size:16px!important}
  .dgpf-stepper{gap:6px;margin:18px 0}.dgpf-stepper__label{display:none}.dgpf-stepper__line{min-width:14px}.dgpf-step-body{min-height:0}.dgpf-step-body h4{font-size:20px!important;margin-bottom:13px!important}
  .dgpf-options--brands,.dgpf-options--models{grid-template-columns:1fr!important;max-height:48dvh;gap:8px}.dgpf-choice{min-height:54px!important}.dgpf-choice__brand-mark{flex-basis:76px;width:76px;height:40px}.dgpf-choice__brand-mark img{max-width:76px;max-height:34px}.dgpf-modal__footer{margin-top:15px;padding-top:14px}
  .dgpf-confirm{padding:24px 2px 2px}.dgpf-confirm__check{width:68px;height:68px;font-size:30px}.dgpf-confirm h3{font-size:20px!important}.dgpf-confirm__actions{grid-template-columns:1fr}

  .dgpf-product-box{grid-template-columns:26px minmax(0,1fr);padding:12px}.dgpf-product-box__change{grid-column:1/-1;width:100%!important;margin-top:3px!important}
  :is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-model-native){display:block!important;width:100%!important}:is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-model-native) th.label,:is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-model-native) td.value{display:block!important;width:100%!important;min-width:0!important;padding:0!important}:is(.single-product,.product-quick-view) form.variations_form .variations tr:has(select.dgpf-model-native) th.label{margin-bottom:7px!important}:is(.single-product,.product-quick-view) form.variations_form .dgpf-product-model-trigger{min-height:50px!important;font-size:15px!important}
}

/* === v0.4.4 hardening: responsive modal, Woodmart controls, compact badges === */
.dgpf-theme-button,
.dgpf-inline-apply,
.dgpf-product-box__change,
.dgpf-confirm__actions .button.alt{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:var(--btn-accented-brd-radius,999px)!important;
  background-color:var(--btn-accented-bgcolor,var(--wd-primary-color,var(--dgpf-primary)))!important;
  color:var(--btn-accented-color,#fff)!important;
  box-shadow:none!important;
  font-weight:700!important;
  text-align:center!important;
}
.dgpf-theme-button:hover,
.dgpf-inline-apply:hover,
.dgpf-product-box__change:hover,
.dgpf-confirm__actions .button.alt:hover{
  background-color:var(--btn-accented-bgcolor-hover,var(--wd-primary-color-hover,var(--btn-accented-bgcolor,var(--dgpf-primary))))!important;
  color:var(--btn-accented-color-hover,var(--btn-accented-color,#fff))!important;
  filter:none!important;
}

/* Center brand artwork + label as one balanced visual unit. */
.dgpf-choice--brand{
  display:grid!important;
  grid-template-columns:72px minmax(0,max-content)!important;
  justify-content:center!important;
  align-items:center!important;
  column-gap:10px!important;
  min-height:64px!important;
  padding:8px 34px 8px 12px!important;
}
.dgpf-choice--brand .dgpf-choice__brand-mark{
  width:72px!important;
  height:40px!important;
  flex:0 0 72px!important;
  padding:0!important;
  overflow:visible!important;
}
.dgpf-choice--brand .dgpf-choice__brand-mark img{
  width:100%!important;
  height:100%!important;
  max-width:72px!important;
  max-height:40px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.dgpf-choice--brand .dgpf-choice__name{
  flex:none!important;
  width:auto!important;
  max-width:105px!important;
  text-align:left!important;
  line-height:1.2!important;
}

/* One scrolling region only: modal header/search/footer stay visible. */
.dgpf-modal__dialog{
  display:flex!important;
  flex-direction:column!important;
  width:min(760px,calc(100vw - 40px))!important;
  height:min(680px,calc(100dvh - 48px))!important;
  max-height:calc(100dvh - 48px)!important;
  overflow:hidden!important;
}
.dgpf-wizard{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0!important;
}
.dgpf-modal__topline,.dgpf-stepper,.dgpf-modal__footer{flex:0 0 auto!important}
.dgpf-step-body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0!important;
  overflow:hidden!important;
}
.dgpf-search-wrap,.dgpf-step-backlink,.dgpf-step-kicker,.dgpf-step-body>h4{flex:0 0 auto!important}
.dgpf-options{
  flex:1 1 auto!important;
  min-height:0!important;
  align-content:start!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable;
  padding:1px 3px 2px 1px!important;
}
.dgpf-options--brands,.dgpf-options--models{max-height:none!important}
.dgpf-modal__footer{
  margin-top:14px!important;
  padding-top:14px!important;
  background:#fff!important;
}
.dgpf-confirm{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}

/* Product card compatibility: a small independent pill that cannot break Woodmart cards. */
.dgpf-card-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:auto!important;
  max-width:100%!important;
  margin:6px 0 0!important;
  padding:4px 8px!important;
  border:0!important;
  border-radius:999px!important;
  background:#eef9f2!important;
  color:#267044!important;
  box-shadow:none!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  vertical-align:top!important;
  overflow:hidden!important;
}
.dgpf-card-badge>span{
  display:grid!important;
  place-items:center!important;
  flex:0 0 16px!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:#d9f2e2!important;
  color:#1f7b42!important;
  font-size:9px!important;
}
.dgpf-card-badge>strong{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:inherit!important;
  font-size:inherit!important;
  font-weight:700!important;
}

/* Product model control uses the same clean card language as the wizard. */
:is(.single-product,.product-quick-view) form.variations_form .dgpf-product-model-trigger{
  min-height:50px!important;
  padding:0 15px!important;
  border:1px solid var(--dgpf-border)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--dgpf-text)!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:650!important;
}
:is(.single-product,.product-quick-view) form.variations_form .dgpf-product-model-trigger:hover,
:is(.single-product,.product-quick-view) form.variations_form .dgpf-product-model-trigger:focus-visible{
  border-color:var(--dgpf-primary)!important;
  outline:0!important;
}

@media (max-width:1023px){
  .dgpf-modal__dialog{
    width:min(720px,calc(100vw - 28px))!important;
    height:min(700px,calc(100dvh - 32px))!important;
    max-height:calc(100dvh - 32px)!important;
  }
}

@media (max-width:767px){
  html.dgpf-modal-open,body.dgpf-modal-open{overscroll-behavior:none!important}
  .dgpf-modal{
    align-items:flex-end!important;
    justify-content:center!important;
    padding:max(8px,env(safe-area-inset-top)) 0 0!important;
  }
  .dgpf-modal__backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .dgpf-modal__dialog{
    width:100%!important;
    height:min(92dvh,calc(var(--dgpf-visual-height,100dvh) - max(8px,env(safe-area-inset-top))))!important;
    max-height:calc(var(--dgpf-visual-height,100dvh) - max(8px,env(safe-area-inset-top)))!important;
    min-height:0!important;
    margin:0!important;
    padding:18px 14px calc(12px + env(safe-area-inset-bottom))!important;
    border-radius:18px 18px 0 0!important;
    overflow:hidden!important;
  }
  .dgpf-modal__topline{padding-right:46px!important}
  .dgpf-modal__close{top:10px!important;right:10px!important}
  .dgpf-stepper{margin:16px 0!important}
  .dgpf-step-body h4{margin-bottom:12px!important}
  .dgpf-search-wrap{margin-bottom:10px!important}
  .dgpf-options{padding-right:2px!important;scrollbar-gutter:auto!important}
  .dgpf-options--brands{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .dgpf-options--models{grid-template-columns:1fr!important;gap:8px!important}
  .dgpf-choice--brand{
    grid-template-columns:60px minmax(0,max-content)!important;
    min-height:58px!important;
    column-gap:7px!important;
    padding:7px 28px 7px 8px!important;
  }
  .dgpf-choice--brand .dgpf-choice__brand-mark{width:60px!important;height:34px!important;flex-basis:60px!important}
  .dgpf-choice--brand .dgpf-choice__brand-mark img{max-width:60px!important;max-height:34px!important}
  .dgpf-choice--brand .dgpf-choice__name{max-width:82px!important;font-size:12.5px!important}
  .dgpf-modal__footer{margin-top:10px!important;padding-top:10px!important;padding-bottom:0!important}
  .dgpf-secondary-action{min-height:44px!important}
  .dgpf-finder__controls>*{min-width:0!important;width:100%!important}
  .dgpf-inline-field,.dgpf-inline-action,.dgpf-inline-select,.dgpf-inline-apply{max-width:100%!important;width:100%!important}
  .dgpf-card-badge{max-width:100%!important;font-size:10px!important}
}

@media (max-width:350px){
  .dgpf-options--brands{grid-template-columns:1fr!important}
  .dgpf-choice--brand{grid-template-columns:68px minmax(0,max-content)!important}
  .dgpf-choice--brand .dgpf-choice__brand-mark{width:68px!important;flex-basis:68px!important}
}

/* v0.4.7: hidden wizard states must win over flex layout rules. */
.dgpf-wizard[hidden],.dgpf-confirm[hidden]{display:none!important}
.dgpf-modal[aria-busy="true"] .dgpf-modal__dialog{cursor:progress}
.dgpf-modal[aria-busy="true"] .dgpf-choice{pointer-events:none;opacity:.7}

/* Quick View reuses the same variation selectors; only spacing differs. */
.product-quick-view .dgpf-product-box{margin-bottom:14px!important}
