.ifp-wa-product-modules{margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid rgba(15,35,70,.14);border-radius:12px;background:#fff;box-sizing:border-box}
.ifp-wa-product-modules h3{margin:0 0 .35rem;font-size:1.05em}
.ifp-wa-product-modules-intro{margin:0 0 .75rem;color:inherit;opacity:.78}
.ifp-wa-product-modules ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none}
.ifp-wa-product-modules li{display:flex;gap:.55rem;align-items:flex-start;min-width:0}
.ifp-wa-product-module-check{display:inline-grid;place-items:center;flex:0 0 1.4rem;width:1.4rem;height:1.4rem;border-radius:50%;background:#0b2a52;color:#fff;font-size:.8rem;line-height:1}
.ifp-wa-product-modules li>span:last-child{display:flex;min-width:0;flex-direction:column;gap:.12rem}
.ifp-wa-product-modules strong,.ifp-wa-product-modules small{overflow-wrap:anywhere}
.ifp-wa-product-modules small{display:block;opacity:.78;line-height:1.35}
@media(max-width:640px){.ifp-wa-product-modules ul{grid-template-columns:1fr}}

/* Elementor Loop Item – kompakte dynamische Modulliste */
.ifp-wa-loop-modules{
  margin:0;
  color:#5F7488;
  font:500 9.5px/1.35 Roboto,Arial,sans-serif;
  overflow-wrap:anywhere;
}
.ifp-wa-loop-modules-label{
  color:#465D72;
  font-weight:700;
}
.ifp-wa-loop-modules-list{
  display:inline;
}
.ifp-wa-loop-module{
  display:inline;
}
.ifp-wa-loop-modules-separator{
  color:#8B9AAA;
}
@media(max-width:1024px){
  .ifp-wa-loop-modules{font-size:10px}
}
@media(max-width:767px){
  .ifp-wa-loop-modules{font-size:10px;line-height:1.4}
}

/* v0.3.20 – gemeinsame Produktmodul-Ausgabe für Shortcode und Elementor */
.ifp-wa-loop-modules{
  --ifp-wa-module-gap:7px;
  --ifp-wa-module-text:#5F7488;
  --ifp-wa-module-link:#0B3568;
  --ifp-wa-module-bg:#F4F7FA;
  --ifp-wa-module-border:#D9E3EC;
  margin:0;
  color:var(--ifp-wa-module-text);
}
.ifp-wa-loop-modules-label{color:#465D72;font-weight:700;margin-right:5px}
.ifp-wa-loop-modules-list{display:inline}
.ifp-wa-loop-module{
  color:var(--ifp-wa-module-text);
  font:inherit;
  text-decoration:none;
}
button.ifp-wa-loop-module{
  appearance:none;
  border:0;
  background:none;
  padding:0;
  margin:0;
  cursor:pointer;
  text-align:inherit;
}
.ifp-wa-loop-module-action{color:var(--ifp-wa-module-link);font-weight:600;cursor:pointer}
.ifp-wa-loop-module-action:hover{text-decoration:underline}
.ifp-wa-loop-modules-separator{color:#8B9AAA}

.ifp-wa-loop-modules.is-pills .ifp-wa-loop-modules-list{
  display:inline-flex;
  flex-wrap:wrap;
  gap:var(--ifp-wa-module-gap);
  vertical-align:middle;
}
.ifp-wa-loop-modules.is-pills .ifp-wa-loop-module{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  border:1px solid var(--ifp-wa-module-border);
  border-radius:999px;
  background:var(--ifp-wa-module-bg);
  padding:5px 10px;
  line-height:1.2;
}
.ifp-wa-loop-modules.is-pills .ifp-wa-loop-module-action:hover{
  border-color:var(--ifp-wa-module-link);
  text-decoration:none;
}

.ifp-wa-loop-modules.is-list .ifp-wa-loop-modules-list{
  display:grid;
  gap:var(--ifp-wa-module-gap);
  margin-top:5px;
}
.ifp-wa-loop-modules.is-list .ifp-wa-loop-module{
  display:block;
  width:max-content;
  max-width:100%;
}

html.ifp-wa-module-modal-open{overflow:hidden}
.ifp-wa-public-module-dialog{
  width:min(620px,calc(100vw - 28px));
  max-height:min(82vh,760px);
  overflow:auto;
  border:0;
  border-radius:18px;
  padding:0;
  color:#1D2A3A;
  background:#fff;
  box-shadow:0 26px 80px rgba(11,41,72,.24);
}
.ifp-wa-public-module-dialog::backdrop{background:rgba(7,26,45,.52)}
.ifp-wa-public-module-dialog-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:22px 22px 14px;
  border-bottom:1px solid #E5EBF1;
}
.ifp-wa-public-module-dialog-head span{
  display:block;
  margin-bottom:5px;
  color:#1769D2;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ifp-wa-public-module-dialog-head h3{margin:0;color:#0B2948;font-size:24px;line-height:1.15}
.ifp-wa-public-module-dialog-close{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:1px solid #D7E0E9;
  border-radius:50%;
  background:#fff;
  color:#0B2948;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.ifp-wa-public-module-dialog-description{margin:0;padding:18px 22px;color:#465D72;line-height:1.55}
.ifp-wa-public-module-implementation{padding:0 22px 18px}
.ifp-wa-public-module-implementation h4{margin:0 0 9px;color:#0B2948;font-size:14px}
.ifp-wa-public-module-implementation-list{display:grid;gap:8px}
.ifp-wa-public-module-implementation-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid #E1E7EE;
  border-radius:10px;
  background:#F8FAFC;
}
.ifp-wa-public-module-implementation-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  object-fit:contain;
  border:1px solid #E1E7EE;
  border-radius:10px;
  background:#fff;
  padding:3px;
  box-sizing:border-box;
}
.ifp-wa-public-module-implementation-body{min-width:0}
.ifp-wa-public-module-implementation-row strong,
.ifp-wa-public-module-implementation-row small{display:block}
.ifp-wa-public-module-implementation-row strong{color:#183650}
.ifp-wa-public-module-implementation-row small{margin-top:3px;color:#65798D;line-height:1.4}
.ifp-wa-public-module-implementation-row a{display:inline-block;margin-top:6px;color:#1769D2;font-weight:700;text-decoration:none}
.ifp-wa-public-module-implementation-row a:hover{text-decoration:underline}
.ifp-wa-public-module-more{
  display:inline-block;
  margin:0 22px 18px;
  color:#1769D2;
  font-weight:700;
  text-decoration:none;
}
.ifp-wa-public-module-more:hover{text-decoration:underline}
.ifp-wa-public-module-dialog-actions{
  display:flex;
  justify-content:flex-end;
  padding:14px 22px 20px;
  border-top:1px solid #E5EBF1;
}
.ifp-wa-public-module-dialog-actions button{
  border:0;
  border-radius:9px;
  background:#0B2948;
  color:#fff;
  padding:9px 16px;
  font-weight:700;
  cursor:pointer;
}
@media(max-width:767px){
  .ifp-wa-loop-modules.is-pills .ifp-wa-loop-modules-list{gap:6px}
  .ifp-wa-public-module-dialog-head{padding:18px 17px 12px}
  .ifp-wa-public-module-dialog-head h3{font-size:21px}
  .ifp-wa-public-module-dialog-description{padding:16px 17px}
  .ifp-wa-public-module-implementation{padding:0 17px 16px}
  .ifp-wa-public-module-more{margin:0 17px 16px}
  .ifp-wa-public-module-dialog-actions{padding:12px 17px 17px}
}



/* v0.3.81 – Architect-eigene Plugin-Lizenzoption am WooCommerce-Kaufprodukt */
.ifp-wa-license-choice{
  margin:1.25rem 0;
  padding:1rem 1.1rem;
  border:1px solid rgba(15,35,70,.14);
  border-radius:12px;
  background:#fff;
  box-sizing:border-box;
}
.ifp-wa-license-choice[hidden]{display:none!important}
.ifp-wa-license-choice h3{margin:0 0 .75rem;font-size:1.05em}
.ifp-wa-license-choice-option{
  display:flex;
  gap:.7rem;
  align-items:flex-start;
  margin:.65rem 0;
  padding:.85rem;
  border:1px solid #dfe7ef;
  border-radius:10px;
  cursor:pointer;
  background:#f8fafc;
}
.ifp-wa-license-choice-option:has(input:checked){border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;background:#f4f9fd}
.ifp-wa-license-choice-option input{margin-top:.2rem}
.ifp-wa-license-choice-option>span{display:flex;min-width:0;flex:1;flex-direction:column;gap:.2rem}
.ifp-wa-license-choice-option b{color:#0b2948}
.ifp-wa-license-choice-option small{line-height:1.4;opacity:.82}
.ifp-wa-license-choice-status{margin:.65rem 0 0;color:#646970;font-size:.92em}


/* v0.3.82 – klare Kauf-/Miet-Lizenzdarstellung ohne Eingriff in Rental-Preise */
.ifp-wa-license-rental-info{
  margin:.65rem 0;
  padding:.85rem;
  border:1px solid #dfe7ef;
  border-radius:10px;
  background:#f8fafc;
}
.ifp-wa-license-rental-info[hidden],
[data-ifp-wa-license-purchase-options][hidden]{display:none!important}
.ifp-wa-license-rental-info strong{display:block;color:#0b2948}
.ifp-wa-license-rental-info p{margin:.25rem 0 0;line-height:1.45;opacity:.84}

/* v0.3.87 – Lizenzblock als eigene Zeile im WooCommerce-Add-to-Cart-Layout */
.woocommerce-variation-add-to-cart.ifp-wa-has-license-choice,
.variations_button.ifp-wa-has-license-choice,
form.cart.ifp-wa-has-license-choice{
  flex-wrap:wrap;
}
.ifp-wa-has-license-choice>.ifp-wa-license-choice{
  flex:0 0 100%;
  width:100%;
  max-width:100%;
  min-width:0;
}
.ifp-wa-license-choice [data-ifp-wa-license-purchase-options]{
  width:100%;
  min-width:0;
}
.ifp-wa-license-choice-option{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.ifp-wa-license-choice-option input[type="radio"]{
  flex:0 0 auto;
  align-self:flex-start;
}
.ifp-wa-license-choice-option.is-active{
  border-color:#2271b1;
  box-shadow:0 0 0 1px #2271b1;
  background:#f4f9fd;
}
@media(max-width:640px){
  .ifp-wa-license-choice{
    margin:1rem 0;
    padding:.9rem;
  }
  .ifp-wa-license-choice-option{
    gap:.6rem;
    padding:.75rem;
  }
}

.ifp-wa-license-summary-preview {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid currentColor;
}

.ifp-wa-license-summary-preview-label {
  min-width: 0;
}

.ifp-wa-license-summary-preview-value {
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .ifp-wa-license-summary-preview {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

/* v0.3.88 – einheitlicher Architect-Produktkonfigurator.
 * Ausschließlich auf Architect-verknüpften Produktformularen aktiv.
 * WooCommerce-/Rental-/Architect-Felder bleiben die echten Eingabeelemente.
 */
.ifp-wa-product-configurator{
  --ifp-wa-config-navy:#0b2948;
  --ifp-wa-config-blue:#1769d2;
  --ifp-wa-config-text:#21364a;
  --ifp-wa-config-muted:#66798b;
  --ifp-wa-config-border:#dce5ee;
  --ifp-wa-config-soft:#f6f9fc;
  --ifp-wa-config-softer:#fbfcfe;
  margin:1.35rem 0;
  border:1px solid var(--ifp-wa-config-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 34px rgba(11,41,72,.07);
  overflow:visible;
  box-sizing:border-box;
}
.ifp-wa-product-configurator *,
.ifp-wa-product-configurator *::before,
.ifp-wa-product-configurator *::after{box-sizing:border-box}
.ifp-wa-product-configurator-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,auto);
  gap:20px;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid var(--ifp-wa-config-border);
  border-radius:18px 18px 0 0;
  background:linear-gradient(135deg,#fff 0%,var(--ifp-wa-config-softer) 100%);
}
.ifp-wa-product-configurator-heading{min-width:0}
.ifp-wa-product-configurator-eyebrow{
  display:block;
  margin:0 0 3px;
  color:var(--ifp-wa-config-blue);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.ifp-wa-product-configurator-heading h2{
  margin:0;
  color:var(--ifp-wa-config-navy);
  font-size:clamp(19px,2vw,24px);
  line-height:1.16;
}
.ifp-wa-product-configurator-heading p{
  margin:6px 0 0;
  max-width:760px;
  color:var(--ifp-wa-config-muted);
  font-size:13px;
  line-height:1.45;
}
.ifp-wa-product-configurator-price{
  display:flex;
  min-width:190px;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:2px;
  padding:10px 13px;
  border:1px solid var(--ifp-wa-config-border);
  border-radius:12px;
  background:#fff;
}
.ifp-wa-product-configurator-price>span{
  color:var(--ifp-wa-config-muted);
  font-size:11px;
  font-weight:700;
}
.ifp-wa-product-configurator-price>strong{
  color:var(--ifp-wa-config-navy);
  font-size:20px;
  line-height:1.18;
  font-weight:800;
  white-space:nowrap;
}
.ifp-wa-product-configurator-price .price{margin:0!important;color:inherit!important;font:inherit!important}
.ifp-wa-product-configurator-body{padding:16px 18px 18px}
.ifp-wa-product-configurator form.cart,
.ifp-wa-product-configurator form.variations_form{margin:0!important}
.ifp-wa-product-configurator form.cart>p:first-child:empty{display:none}

/* WooCommerce-Variationsfelder kompakt als gleichartige Felder. */
.ifp-wa-product-configurator .ifp-wa-configurator-variations{
  display:block;
  width:100%!important;
  margin:0 0 14px!important;
  border:0!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-variations tbody{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
  width:100%;
}
.ifp-wa-product-configurator .ifp-wa-configurator-variations tr{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
  margin:0!important;
  padding:11px 12px!important;
  border:1px solid var(--ifp-wa-config-border);
  border-radius:12px;
  background:var(--ifp-wa-config-soft);
}
.ifp-wa-product-configurator .ifp-wa-configurator-variations th,
.ifp-wa-product-configurator .ifp-wa-configurator-variations td{
  display:block;
  width:100%!important;
  padding:0!important;
  border:0!important;
  text-align:left!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-variations .label label{
  margin:0;
  color:var(--ifp-wa-config-navy);
  font-size:12px;
  line-height:1.3;
  font-weight:800;
}

/* Gemeinsame Control-Sprache für Woo, Rental Options und Architect. */
.ifp-wa-product-configurator select,
.ifp-wa-product-configurator input[type="number"],
.ifp-wa-product-configurator input[type="text"]{
  min-height:42px;
  max-width:100%;
  border:1px solid #cdd9e4;
  border-radius:9px;
  background:#fff;
  color:var(--ifp-wa-config-text);
  box-shadow:none;
}
.ifp-wa-product-configurator select{
  width:100%;
  padding:.5rem 2.2rem .5rem .7rem;
}
.ifp-wa-product-configurator input[type="number"],
.ifp-wa-product-configurator input[type="text"]{padding:.5rem .7rem}
.ifp-wa-product-configurator select:focus,
.ifp-wa-product-configurator input:focus{
  border-color:var(--ifp-wa-config-blue);
  outline:2px solid rgba(23,105,210,.12);
  outline-offset:1px;
}

/* Direkte Integrationsblöcke dürfen auf Desktop bis zu drei Spalten nutzen. */
.ifp-wa-product-configurator .ifp-wa-configurator-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 14px;
  align-items:start!important;
  width:100%;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-field-block{
  grid-column:auto;
  min-width:0;
  margin:0!important;
  padding:11px 12px;
  border:1px solid var(--ifp-wa-config-border);
  border-radius:12px;
  background:var(--ifp-wa-config-soft);
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-full-block{
  grid-column:1/-1;
  min-width:0;
  width:100%;
  max-width:100%;
  margin-left:0!important;
  margin-right:0!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-hidden-item{
  display:none!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-summary-block{
  padding:12px 14px;
  border:1px solid var(--ifp-wa-config-border);
  border-radius:12px;
  background:#fff;
}

/* Wenn Rental Options mehrere reine Select-Zeilen in einem gemeinsamen
 * Container führt, werden ausschließlich diese echten Zeilen kompakt gerastert.
 */
.ifp-wa-product-configurator .ifp-wa-configurator-select-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 14px;
  align-items:start;
}
.ifp-wa-product-configurator .ifp-wa-configurator-select-grid>.ifp-wa-configurator-select-field{
  min-width:0;
  margin:0!important;
  padding:11px 12px;
  border:1px solid var(--ifp-wa-config-border);
  border-radius:12px;
  background:var(--ifp-wa-config-soft);
}
.ifp-wa-product-configurator .ifp-wa-configurator-select-grid>:not(.ifp-wa-configurator-select-field){
  grid-column:1/-1;
}

/* Radio-/Checkbox-Auswahlen verschiedener Quellen erhalten dieselbe Kartenform. */
.ifp-wa-product-configurator .ifp-wa-configurator-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-choice-card{
  display:flex;
  min-width:0;
  gap:9px;
  align-items:flex-start;
  margin:0!important;
  padding:10px 11px!important;
  border:1px solid var(--ifp-wa-config-border)!important;
  border-radius:10px!important;
  background:var(--ifp-wa-config-softer)!important;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.ifp-wa-product-configurator .ifp-wa-configurator-choice-card.is-active{
  border-color:var(--ifp-wa-config-blue)!important;
  background:#f3f8fe!important;
  box-shadow:0 0 0 1px rgba(23,105,210,.16);
}
.ifp-wa-product-configurator .ifp-wa-configurator-choice-card input{
  flex:0 0 auto;
  margin:.18rem 0 0!important;
}

/* Architect-Lizenzblock ist Teil derselben Oberfläche, nicht mehr Fremdkörper. */
.ifp-wa-product-configurator .ifp-wa-license-choice{
  grid-column:1/-1;
  margin:0!important;
  padding:14px;
  border:1px solid var(--ifp-wa-config-border);
  border-radius:13px;
  background:#fff;
  box-shadow:none;
}
.ifp-wa-product-configurator .ifp-wa-license-choice h3{
  margin:0 0 10px;
  color:var(--ifp-wa-config-navy);
  font-size:15px;
  line-height:1.25;
}
.ifp-wa-product-configurator .ifp-wa-license-choice [data-ifp-wa-license-purchase-options]{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.ifp-wa-product-configurator .ifp-wa-license-choice-option{
  min-height:100%;
  margin:0;
  padding:11px 12px;
  border-color:var(--ifp-wa-config-border);
  background:var(--ifp-wa-config-softer);
}
.ifp-wa-product-configurator .ifp-wa-license-choice-option.is-active,
.ifp-wa-product-configurator .ifp-wa-license-choice-option:has(input:checked){
  border-color:var(--ifp-wa-config-blue);
  background:#f3f8fe;
  box-shadow:0 0 0 1px rgba(23,105,210,.16);
}
.ifp-wa-product-configurator .ifp-wa-license-choice-option strong{
  color:var(--ifp-wa-config-navy);
  font-size:13px;
}
.ifp-wa-product-configurator .ifp-wa-license-choice-option b{
  font-size:12px;
  color:var(--ifp-wa-config-blue);
}
.ifp-wa-product-configurator .ifp-wa-license-choice-option small{
  color:var(--ifp-wa-config-muted);
  font-size:11px;
  line-height:1.4;
}
.ifp-wa-product-configurator .ifp-wa-license-rental-info{
  margin:0;
  border-color:var(--ifp-wa-config-border);
  background:var(--ifp-wa-config-soft);
}

/* Button/Quantity werden als echte WooCommerce-Controls in eine eigene
 * Architect-Aktionszeile verschoben. Dadurch kann kein hoher Optionsblock den
 * Button mehr auf seine Höhe strecken.
 */
.ifp-wa-product-configurator .ifp-wa-configurator-action-row{
  grid-column:1/-1;
  display:flex!important;
  width:100%;
  align-items:center!important;
  justify-content:flex-end;
  gap:10px;
  margin:2px 0 0!important;
  padding:13px 0 0;
  border-top:1px solid var(--ifp-wa-config-border);
}
.ifp-wa-product-configurator .ifp-wa-configurator-action-row .quantity{
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-action-row .quantity input.qty{
  width:76px!important;
  min-height:46px;
  margin:0!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-action-row .single_add_to_cart_button{
  align-self:center!important;
  width:auto!important;
  min-width:190px;
  min-height:46px;
  height:auto!important;
  margin:0!important;
  padding:11px 20px!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--ifp-wa-config-navy)!important;
  color:#fff!important;
  line-height:1.25!important;
  white-space:normal;
  box-shadow:none!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-action-row .single_add_to_cart_button:hover,
.ifp-wa-product-configurator .ifp-wa-configurator-action-row .single_add_to_cart_button:focus{
  background:#123c68!important;
  color:#fff!important;
}

/* Der 0.3.87-Fallback bleibt erhalten, wird in der neuen Shell aber neutralisiert,
 * weil die Aktionszeile die strukturelle Trennung übernimmt.
 */
.ifp-wa-product-configurator .ifp-wa-has-license-choice{
  align-items:start;
}
.ifp-wa-product-configurator .ifp-wa-license-summary-preview{
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid var(--ifp-wa-config-border);
  color:var(--ifp-wa-config-text);
}

@media(max-width:1024px){
  .ifp-wa-product-configurator .ifp-wa-configurator-grid,
  .ifp-wa-product-configurator .ifp-wa-configurator-select-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:767px){
  .ifp-wa-product-configurator{margin:1rem 0;border-radius:14px}
  .ifp-wa-product-configurator-head{
    grid-template-columns:1fr;
    gap:12px;
    padding:15px;
    border-radius:14px 14px 0 0;
  }
  .ifp-wa-product-configurator-price{
    width:100%;
    min-width:0;
    align-items:flex-start;
  }
  .ifp-wa-product-configurator-price>strong{font-size:19px;white-space:normal}
  .ifp-wa-product-configurator-body{padding:13px}
  .ifp-wa-product-configurator .ifp-wa-configurator-grid,
  .ifp-wa-product-configurator .ifp-wa-configurator-select-grid,
  .ifp-wa-product-configurator .ifp-wa-configurator-choice-grid,
  .ifp-wa-product-configurator .ifp-wa-license-choice [data-ifp-wa-license-purchase-options],
  .ifp-wa-product-configurator .ifp-wa-configurator-variations tbody{
    grid-template-columns:1fr;
  }
  .ifp-wa-product-configurator .ifp-wa-configurator-action-row{
    align-items:stretch!important;
    flex-direction:column;
  }
  .ifp-wa-product-configurator .ifp-wa-configurator-action-row .quantity,
  .ifp-wa-product-configurator .ifp-wa-configurator-action-row .quantity input.qty,
  .ifp-wa-product-configurator .ifp-wa-configurator-action-row .single_add_to_cart_button{
    width:100%!important;
    max-width:none!important;
  }
}



/* v0.3.89 – Ratenzahlung im gemeinsamen Konfigurator sichtbar im Entscheidungsfluss.
 * Der Architect erkennt ausschließlich technische Rental-/Installment-Signale
 * und ordnet den EXISTIERENDEN Block visuell ein. Keine Proxy-Felder, keine
 * eigene Ratenberechnung und keine Änderung an den Rental-Options-Werten.
 */
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-license-block{
  order:40;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-payment-block{
  order:50;
  position:relative;
  padding:31px 14px 14px!important;
  border:1px solid #cfddeb;
  border-radius:13px;
  background:linear-gradient(135deg,#f8fbff 0%,#fff 100%);
  box-shadow:0 0 0 1px rgba(23,105,210,.025);
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-payment-block::before{
  content:attr(data-ifp-wa-payment-title);
  position:absolute;
  top:9px;
  left:14px;
  right:14px;
  color:var(--ifp-wa-config-navy);
  font-size:15px;
  line-height:1.25;
  font-weight:800;
  pointer-events:none;
}
.ifp-wa-product-configurator .ifp-wa-configurator-payment-block select{
  max-width:240px;
}
.ifp-wa-product-configurator .ifp-wa-configurator-payment-block .ifp-wa-configurator-choice-card{
  border-color:#cfddeb!important;
  background:#fff!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-payment-block .ifp-wa-configurator-choice-card.is-active{
  border-color:var(--ifp-wa-config-blue)!important;
  background:#f3f8fe!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-summary-block{
  order:60;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-action-row{
  order:70;
}

/* Falls das Fremdplugin seinen Ratenblock selbst versteckt, respektiert der
 * Architect diesen Zustand. Er erzwingt niemals display/visibility.
 */
@media(max-width:767px){
  .ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-payment-block{
    padding:29px 13px 13px!important;
  }
  .ifp-wa-product-configurator .ifp-wa-configurator-payment-block select{
    max-width:none;
  }
}

/* v0.3.90 – Ratenzahlung früh sichtbar und klar im Entscheidungsfluss.
 * Der echte Rental-Options-Block bleibt unverändert; der Architect setzt nur
 * Reihenfolge, Hinweis und Sprungziel innerhalb eindeutig verknüpfter Produkte.
 */
.ifp-wa-product-configurator .ifp-wa-product-configurator-payment-jump{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:11px 0 0;
  padding:8px 10px;
  border:1px solid rgba(23,105,210,.24);
  border-radius:999px;
  background:#f3f8fe;
  color:var(--ifp-wa-config-navy);
  box-shadow:none;
  cursor:pointer;
  font:inherit;
  line-height:1.2;
  text-align:left;
}
.ifp-wa-product-configurator .ifp-wa-product-configurator-payment-jump[hidden]{
  display:none!important;
}
.ifp-wa-product-configurator .ifp-wa-product-configurator-payment-jump span{
  font-size:12px;
  font-weight:800;
}
.ifp-wa-product-configurator .ifp-wa-product-configurator-payment-jump small{
  color:var(--ifp-wa-config-blue);
  font-size:11px;
  font-weight:700;
}
.ifp-wa-product-configurator .ifp-wa-product-configurator-payment-jump:hover,
.ifp-wa-product-configurator .ifp-wa-product-configurator-payment-jump:focus{
  border-color:var(--ifp-wa-config-blue);
  background:#edf5ff;
  outline:2px solid rgba(23,105,210,.1);
  outline-offset:1px;
}

/* Alle direkten Integrationsblöcke erhalten einen definierten Grundrang.
 * Dadurch kann Zahlung & Raten zuverlässig direkt nach der Nutzungsart stehen,
 * statt erst nach Lizenzen und Zusammenfassung aufzutauchen.
 */
.ifp-wa-product-configurator .ifp-wa-configurator-grid>*{
  order:30;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-usage-block{
  order:10;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-payment-block{
  order:20;
  border-color:#b9cfe5;
  box-shadow:0 5px 18px rgba(11,41,72,.055);
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-usage-block.ifp-wa-configurator-payment-block{
  order:10;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-option-block{
  order:30;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-license-block{
  order:40;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-summary-block{
  order:60;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-action-row{
  order:70;
}

@media(max-width:767px){
  .ifp-wa-product-configurator .ifp-wa-product-configurator-payment-jump{
    width:100%;
    justify-content:space-between;
    border-radius:10px;
  }
}


/* v0.3.91 – Rental-Options-kompatible Kauf/Miete-Zustände und echter
 * Zahlungsbereich am unteren Entscheidungszeitpunkt.
 *
 * Wichtig: Quantity/Add-to-Cart werden nicht mehr in einen neuen DOM-Wrapper
 * verschoben. Die echten WooCommerce-Knoten bleiben in ihrer Originalhierarchie
 * und werden ausschließlich als Grid-Controls markiert.
 */
.ifp-wa-product-configurator .ifp-wa-product-configurator-payment-jump{
  display:none!important;
}

.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-payment-slot{
  order:50;
  grid-column:1/-1;
  position:relative;
  width:100%;
  min-width:0;
  margin:0!important;
  padding:34px 14px 14px!important;
  border:1px solid #b9cfe5;
  border-radius:13px;
  background:linear-gradient(135deg,#f8fbff 0%,#fff 100%);
  box-shadow:0 5px 18px rgba(11,41,72,.055);
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-payment-slot[hidden]{
  display:none!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-payment-slot::before{
  content:attr(data-ifp-wa-payment-title);
  position:absolute;
  top:10px;
  left:14px;
  right:14px;
  color:var(--ifp-wa-config-navy);
  font-size:15px;
  line-height:1.25;
  font-weight:800;
  pointer-events:none;
}
.ifp-wa-product-configurator .ifp-wa-configurator-payment-slot>.ifp-wa-configurator-payment-block{
  width:100%;
  min-width:0;
  margin:0!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-payment-slot .ifp-wa-configurator-choice-grid{
  margin:0!important;
}

/* Sollte eine ältere/abweichende Rental-Options-Struktur nicht sicher
 * verschiebbar sein, bleibt ein direkt markierter Zahlungsblock wenigstens am
 * unteren Rasterrang statt im 0.3.90-Frührang.
 */
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-payment-block{
  order:50;
}

/* Originale WooCommerce-Aktionscontrols: keine Reparenting-Aktionszeile mehr. */
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-quantity{
  order:70;
  grid-column:1;
  align-self:center;
  justify-self:start;
  width:auto!important;
  min-width:0;
  margin:0!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-quantity input.qty{
  width:76px!important;
  min-height:46px;
  margin:0!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-add-to-cart{
  order:70;
  grid-column:2/-1;
  align-self:center!important;
  justify-self:end;
  width:auto!important;
  min-width:190px;
  min-height:46px;
  height:auto!important;
  margin:0!important;
  padding:11px 20px!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--ifp-wa-config-navy)!important;
  color:#fff!important;
  line-height:1.25!important;
  white-space:normal;
  box-shadow:none!important;
}
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-add-to-cart:hover,
.ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-add-to-cart:focus{
  background:#123c68!important;
  color:#fff!important;
}

@media(max-width:767px){
  .ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-payment-slot{
    padding:32px 13px 13px!important;
  }
  .ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-quantity,
  .ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-add-to-cart{
    grid-column:1/-1;
    width:100%!important;
    max-width:none!important;
    justify-self:stretch;
  }
  .ifp-wa-product-configurator .ifp-wa-configurator-grid>.ifp-wa-configurator-quantity input.qty{
    width:100%!important;
  }
}
