.lfp-vsd-enabled .wooco_wrap {
  --vsd-ink: #17251f;
  --vsd-muted: #62716a;
  --vsd-green: #16784a;
  --vsd-green-dark: #0c5e39;
  --vsd-green-soft: #eaf7f0;
  --vsd-blue: #0878bd;
  --vsd-orange: #ef7f1a;
  --vsd-line: #dce6e1;
  --vsd-paper: #ffffff;
  --vsd-wash: #f5f8f7;
  color: var(--vsd-ink);
}

.lfp-vsd-multirs-limit {
  --mrs-ink: #17382a;
  --mrs-muted: #5d7168;
  --mrs-green: #14794a;
  --mrs-line: #cee2d8;
  position: relative;
  z-index: 250;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  margin: 14px 0 18px;
  padding: 12px 14px;
  border: 1px solid var(--mrs-line);
  border-radius: 12px;
  background: linear-gradient(135deg, #f1faf5 0%, #e8f5ef 100%);
  color: var(--mrs-ink);
  box-shadow: 0 6px 18px rgba(20, 73, 48, .07);
}
.lfp-vsd-multirs-limit--bundle { margin-top: 8px; }
.lfp-vsd-multirs-limit__summary { display: flex; gap: 10px; align-items: center; min-width: 0; }
.lfp-vsd-multirs-limit__mark { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; background: var(--mrs-green); color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .05em; box-shadow: 0 5px 12px rgba(20,121,74,.2); }
.lfp-vsd-multirs-limit__summary strong { display: block; color: var(--mrs-ink); font-size: 12px; font-weight: 850; line-height: 1.25; }
.lfp-vsd-multirs-limit__summary small { display: block; margin-top: 3px; color: var(--mrs-muted); font-size: 9px; line-height: 1.35; }
.lfp-vsd-multirs-limit__summary small b { color: #265b43; font-weight: 800; }
.lfp-vsd-limit-info { position: relative; flex: 0 0 auto; }
.lfp-vsd-limit-trigger { display: inline-flex; gap: 6px; align-items: center; min-height: 34px; padding: 7px 10px; border: 1px solid #9dcbb5; border-radius: 999px; background: #fff; color: #17683f; font-family: inherit; font-size: 10px; font-weight: 800; line-height: 1.2; cursor: pointer; box-shadow: 0 3px 10px rgba(20,73,48,.06); transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.lfp-vsd-limit-trigger span { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #dff2e8; color: #10683f; font: 900 11px/1 Georgia, serif; }
.lfp-vsd-limit-trigger .lfp-vsd-limit-trigger__label { display: inline; width: auto; height: auto; border-radius: 0; background: transparent; color: #17683f; font-family: inherit; font-size: 10px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
.lfp-vsd-limit-trigger:hover,
.lfp-vsd-limit-trigger:focus-visible,
.lfp-vsd-limit-info.is-open .lfp-vsd-limit-trigger { border-color: var(--mrs-green); background: #f9fdfb; box-shadow: 0 0 0 3px rgba(20,121,74,.1); outline: 0; }
.lfp-vsd-limit-popover {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 500;
  visibility: hidden;
  width: min(520px, calc(100vw - 30px));
  padding: 18px;
  border: 1px solid #bfd8cb;
  border-radius: 15px;
  background: #fff;
  color: #283b32;
  box-shadow: 0 22px 55px rgba(18,55,39,.2);
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.lfp-vsd-limit-popover::before { content: ''; position: absolute; top: -7px; right: 27px; width: 12px; height: 12px; border: solid #bfd8cb; border-width: 1px 0 0 1px; background: #fff; transform: rotate(45deg); }
.lfp-vsd-limit-info:hover .lfp-vsd-limit-popover,
.lfp-vsd-limit-info:focus-within .lfp-vsd-limit-popover,
.lfp-vsd-limit-info.is-open .lfp-vsd-limit-popover { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
.lfp-vsd-limit-popover__close { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 27px; height: 27px; padding: 0; border: 0; border-radius: 8px; background: #edf5f1; color: #426156; font-family: inherit; font-size: 19px; font-weight: 500; line-height: 1; cursor: pointer; }
.lfp-vsd-limit-popover__close:hover,
.lfp-vsd-limit-popover__close:focus-visible { background: #dff0e7; color: #155f3d; outline: 2px solid rgba(20,121,74,.18); }
.lfp-vsd-limit-popover__eyebrow { margin: 0 34px 4px 0; color: #14794a; font-size: 9px; font-weight: 850; letter-spacing: .075em; line-height: 1.3; text-transform: uppercase; }
.lfp-vsd-limit-popover h3 { margin: 0 32px 14px 0; color: #142c21; font-size: 18px; font-weight: 850; letter-spacing: -.02em; line-height: 1.15; }
.lfp-vsd-limit-popover__limits { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.lfp-vsd-limit-popover__limits > div { padding: 12px; border: 1px solid #d8e7df; border-radius: 11px; background: #f6faf8; }
.lfp-vsd-limit-popover__limits > div.is-safety { border-color: #f0cfab; background: #fff8ef; }
.lfp-vsd-limit-popover__limits b { display: block; color: #116c42; font-size: 21px; font-weight: 900; line-height: 1; }
.lfp-vsd-limit-popover__limits .is-safety b { color: #b55a0b; }
.lfp-vsd-limit-popover__limits span { display: block; margin-top: 6px; color: #29473a; font-size: 10px; font-weight: 800; line-height: 1.3; }
.lfp-vsd-limit-popover__limits small { display: block; margin-top: 5px; color: #6b7973; font-size: 9px; line-height: 1.4; }
.lfp-vsd-limit-popover ul { display: grid; gap: 7px; margin: 13px 0 0 17px; padding: 0; color: #53655d; font-size: 9px; line-height: 1.45; }
.lfp-vsd-limit-popover li::marker { color: #188052; }
.lfp-vsd-limit-popover li strong { color: #29483a; }
.lfp-vsd-limit-popover__revision { margin: 12px 0 0; padding: 9px 10px; border-radius: 9px; background: #f1f5f3; color: #65736d; font-size: 8.5px; line-height: 1.45; }
.lfp-vsd-limit-popover__revision strong { color: #3d554a; }
.lfp-vsd-limit-popover__sources { display: flex; gap: 6px 14px; flex-wrap: wrap; margin: 11px 0 0; }
.lfp-vsd-limit-popover__sources a { color: #0873a7; font-size: 9px; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }

.lfp-vsd-intro {
  position: relative;
  overflow: hidden;
  margin: 12px 0 0;
  padding: 24px;
  border: 1px solid #cce3d7;
  border-radius: 20px 20px 10px 10px;
  background:
    radial-gradient(circle at 94% 8%, rgba(255,255,255,.45) 0 62px, transparent 63px),
    linear-gradient(138deg, #ecf8f2 0%, #dff3e9 58%, #d4eee2 100%);
  box-shadow: 0 10px 30px rgba(16, 70, 46, .08);
}

.lfp-vsd-intro::after {
  content: '';
  position: absolute;
  right: -42px;
  bottom: -64px;
  width: 190px;
  height: 190px;
  border: 24px solid rgba(22, 120, 74, .055);
  border-radius: 50%;
}

.lfp-vsd-intro__eyebrow,
.lfp-vsd__kicker {
  margin: 0 0 12px;
  color: var(--vsd-green-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1.3;
  text-transform: uppercase;
}

.lfp-vsd-intro__eyebrow span { color: #29a568; margin-right: 5px; }
.lfp-vsd-intro__heading { position: relative; z-index: 1; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 15px; align-items: start; }
.lfp-vsd-intro__mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--vsd-green); box-shadow: 0 8px 18px rgba(22,120,74,.22); }
.lfp-vsd-intro__mark svg { width: 26px; height: 26px; fill: none; stroke: #fff; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.lfp-vsd-intro h2 { margin: 0; color: #102e21; font-size: clamp(21px, 2.2vw, 28px); font-weight: 850; letter-spacing: -.025em; line-height: 1.08; }
.lfp-vsd-intro__heading p { margin: 9px 0 0; color: #3f5c50; font-size: 14px; line-height: 1.5; }
.lfp-vsd-intro__proof { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 20px; }
.lfp-vsd-intro__proof span { display: flex; gap: 7px; align-items: flex-start; color: #335346; font-size: 11px; font-weight: 700; line-height: 1.35; }
.lfp-vsd-intro__proof b { display: grid; place-items: center; flex: 0 0 17px; width: 17px; height: 17px; border-radius: 50%; background: #fff; color: var(--vsd-green); font-size: 11px; box-shadow: 0 2px 7px rgba(16,70,46,.08); }

.lfp-vsd-solar-toggle {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  margin: 0 0 16px;
  padding: 16px 18px;
  border: 1px solid #cce3d7;
  border-top: 0;
  border-radius: 0 0 14px 14px;
  background: #fff;
  color: #21372d;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(16,70,46,.065);
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.lfp-vsd-solar-toggle:hover { border-color: #9fcbb5; background: #fbfefc; box-shadow: 0 10px 25px rgba(16,70,46,.1); }
.lfp-vsd-solar-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.lfp-vsd-solar-toggle__switch { position: relative; display: block; width: 45px; height: 25px; border-radius: 999px; background: #cbd8d2; box-shadow: inset 0 0 0 1px rgba(25,65,47,.08); transition: background .18s ease; }
.lfp-vsd-solar-toggle__switch i { position: absolute; top: 3px; left: 3px; width: 19px; height: 19px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(17,55,38,.24); transition: transform .18s ease; }
.lfp-vsd-solar-toggle input:focus-visible + .lfp-vsd-solar-toggle__switch { outline: 3px solid rgba(22,120,74,.2); outline-offset: 3px; }
.lfp-vsd-solar-toggle input:checked + .lfp-vsd-solar-toggle__switch { background: var(--vsd-green); }
.lfp-vsd-solar-toggle input:checked + .lfp-vsd-solar-toggle__switch i { transform: translateX(20px); }
.lfp-vsd-solar-toggle__copy strong { display: block; color: #17362a; font-size: 14px; font-weight: 850; line-height: 1.25; }
.lfp-vsd-solar-toggle__copy small { display: block; margin-top: 3px; color: #6b7e75; font-size: 10px; line-height: 1.35; }
.lfp-vsd-solar-toggle__plus { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; background: #edf6f1; color: var(--vsd-green); font-size: 19px; font-weight: 500; line-height: 1; transition: transform .18s ease, background .18s ease; }
.lfp-vsd-solar-toggle[aria-expanded="true"] .lfp-vsd-solar-toggle__plus { transform: rotate(45deg); background: #dff2e8; }

body.lfp-vsd-solar-optional:not(.lfp-vsd-solar-open) .lfp-vsd-solar-component,
body.lfp-vsd-solar-optional:not(.lfp-vsd-solar-open) #lfp-vsd,
.lfp-vsd[hidden] { display: none !important; }
body.lfp-vsd-solar-open .lfp-vsd-solar-component,
body.lfp-vsd-solar-open #lfp-vsd { animation: lfp-vsd-reveal .24s ease; }
@keyframes lfp-vsd-reveal { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

.lfp-vsd-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 0 0 16px; overflow: hidden; border: 1px solid var(--vsd-line); border-top: 0; border-radius: 0 0 10px 10px; background: var(--vsd-line); }
.lfp-vsd-steps span { display: flex; gap: 6px; align-items: center; justify-content: center; min-height: 37px; padding: 7px 4px; background: #fff; color: #506159; font-size: 10px; font-weight: 750; text-align: center; }
.lfp-vsd-steps b { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #eaf2ee; color: var(--vsd-green-dark); font-size: 10px; }

.lfp-vsd-enabled .wooco_components { display: grid; gap: 12px; }
.lfp-vsd-enabled .wooco-selected { display: none !important; }
.lfp-vsd-enabled .wooco_summary { display: flex !important; gap: 12px; align-items: center; justify-content: space-between; margin-top: 14px !important; padding: 10px 12px !important; border: 1px solid #e0e8e4; border-radius: 10px; background: #fafcfb; color: #62716a; font-size: 11px; }
.lfp-vsd-enabled .wooco_summary .wooco_total { color: #354c42; font-weight: 750; }
.lfp-vsd-enabled .wooco_summary .wooco_count { display: none !important; }
.lfp-vsd-enabled .wooco_component.lfp-vsd-component { position: relative; margin: 0 !important; padding: 17px !important; border: 1px solid var(--vsd-line) !important; border-radius: 14px; background: var(--vsd-paper); box-shadow: 0 4px 14px rgba(20, 55, 39, .045); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.lfp-vsd-enabled .wooco_component.lfp-vsd-component:focus-within { z-index: 200; border-color: #8cc5a8 !important; box-shadow: 0 0 0 3px rgba(22,120,74,.08), 0 8px 22px rgba(20,55,39,.07); }
@supports selector(:has(*)) {
	.lfp-vsd-enabled .wooco_component.lfp-vsd-component:has(.dd-options[style*="display: block"]) { z-index: 200; }
}
.lfp-vsd-enabled .wooco_component_name { display: flex !important; align-items: center; gap: 9px; margin: 0 !important; color: var(--vsd-ink); font-size: 15px !important; font-weight: 800 !important; line-height: 1.25; }
body.lfp-vsd-solar-optional .lfp-vsd-solar-component .wooco_component_name::after { content: 'Optional solar'; margin-left: auto; color: #4f7663; font-size: 9px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.lfp-vsd-component__step { display: inline-grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; border-radius: 8px; background: #eaf7f0; color: var(--vsd-green); font-size: 12px; font-weight: 850; }
.lfp-vsd-component__guidance { display: flex; gap: 3px 10px; align-items: baseline; flex-wrap: wrap; margin: 8px 0 12px; color: var(--vsd-muted); font-size: 11px; line-height: 1.4; }
.lfp-vsd-component__guidance strong { color: #3d4f47; font-size: 12px; }
.lfp-vsd-enabled .wooco_component_desc { display: none !important; }
.lfp-vsd-enabled .wooco_component_product { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: stretch; }
.lfp-vsd-enabled .wooco_component_product_selection { min-width: 0; }
.lfp-vsd-enabled .dd-container { width: 100% !important; }
.lfp-vsd-enabled .dd-select { min-height: 61px; border: 1px solid #d7e1dc !important; border-radius: 10px !important; background: #f8faf9 !important; transition: background .15s ease, border-color .15s ease; }
.lfp-vsd-enabled .dd-container:hover .dd-select { border-color: #a9cdbb !important; background: #fff !important; }
.lfp-vsd-enabled .dd-selected { display: grid !important; grid-template-columns: 41px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 11px; align-items: center; min-height: 59px; padding: 8px 36px 8px 9px !important; }
.lfp-vsd-enabled .dd-selected-image { grid-row: 1 / 3; width: 41px !important; height: 41px !important; margin: 0 !important; border: 1px solid #e1e8e4; border-radius: 7px; background: #fff; object-fit: contain; }
.lfp-vsd-enabled .dd-selected-text { overflow: hidden; margin: 0 !important; color: #24352e; font-size: 12px; font-weight: 750 !important; line-height: 1.25 !important; text-overflow: ellipsis; white-space: nowrap; }
.lfp-vsd-enabled .dd-selected-description { align-self: start; overflow: hidden; margin: 2px 0 0 !important; color: #78857f !important; font-size: 10px !important; line-height: 1.2 !important; opacity: .86; text-overflow: ellipsis; white-space: nowrap; }
.lfp-vsd-enabled .dd-selected-description del { display: none; }
.lfp-vsd-enabled .dd-selected-description ins { text-decoration: none; }
.lfp-vsd-enabled .dd-pointer { right: 13px !important; }
.lfp-vsd-enabled .dd-options { z-index: 100; overflow-y: auto; max-height: 380px; border: 1px solid #cfdcd5 !important; border-radius: 10px !important; background: #fff; box-shadow: 0 14px 34px rgba(20,55,39,.16) !important; }
.lfp-vsd-enabled .dd-option { display: grid !important; grid-template-columns: 43px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 11px; align-items: center; min-height: 63px; padding: 9px 12px !important; border-bottom-color: #edf1ef !important; }
.lfp-vsd-enabled .dd-option:hover { background: #f0f8f4 !important; }
.lfp-vsd-enabled .dd-option-selected { background: #e8f5ee !important; }
.lfp-vsd-enabled .dd-option-image { grid-row: 1 / 3; width: 43px !important; height: 43px !important; margin: 0 !important; border-radius: 7px; object-fit: contain; }
.lfp-vsd-enabled .dd-option-text { margin: 0 !important; color: #24352e; font-size: 12px; line-height: 1.3 !important; }
.lfp-vsd-enabled .dd-option-description { margin: 2px 0 0 !important; color: #718078 !important; font-size: 10px !important; }
.lfp-vsd-enabled .wooco_component_product_qty { display: block !important; align-self: stretch; min-width: 108px; }
.lfp-vsd-enabled .wooco_component_product_qty .wooco-qty-input { display: grid !important; grid-template-columns: 34px 40px 34px; width: 108px; height: 61px; }
.lfp-vsd-enabled .wooco_component_product_qty_btn,
.lfp-vsd-enabled .wooco_component_product_qty_input { min-width: 0 !important; height: 61px !important; border-color: #d7e1dc !important; background: #f8faf9 !important; color: #294238 !important; font-size: 13px !important; }
.lfp-vsd-enabled .wooco_component_product_qty_btn { display: grid !important; place-items: center; width: 34px !important; cursor: pointer; }
.lfp-vsd-enabled .wooco_component_product_qty_btn:hover { background: #eaf7f0 !important; color: var(--vsd-green) !important; }
.lfp-vsd-enabled .wooco_component_product_qty_input { width: 40px !important; padding: 0 3px !important; color: #17382a !important; -webkit-text-fill-color: #17382a !important; font-weight: 800 !important; line-height: 61px !important; text-align: center; opacity: 1 !important; }

.lfp-vsd-component--preset-qty .wooco_component_product_qty { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.lfp-vsd-panel-qty-presets { display: grid; gap: 10px; margin-top: 12px; padding: 12px; border: 1px solid #d9e7e0; border-radius: 11px; background: #f6faf8; }
.lfp-vsd-panel-qty-presets__copy strong { display: block; color: #244137; font-size: 11px; line-height: 1.25; }
.lfp-vsd-panel-qty-presets__copy span { display: block; margin-top: 3px; color: #6b7b73; font-size: 9px; line-height: 1.4; }
.lfp-vsd-panel-qty-presets__buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.lfp-vsd-panel-qty-presets button { position: relative; min-height: 55px; padding: 9px 7px; border: 1px solid #cfded6; border-radius: 9px; background: #fff; color: #294238; font-family: inherit; text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.lfp-vsd-panel-qty-presets button:hover { border-color: #80bb9b; background: #fbfefc; }
.lfp-vsd-panel-qty-presets button.is-active { border-color: var(--vsd-green); background: #e9f6ef; box-shadow: 0 0 0 2px rgba(22,120,74,.08); }
.lfp-vsd-panel-qty-presets button b { display: block; color: #17382a; font-size: 11px; line-height: 1.2; }
.lfp-vsd-panel-qty-presets button small { display: block; margin-top: 4px; color: #66786f; font-size: 8px; line-height: 1.3; }
.lfp-vsd-panel-qty-presets button em { display: inline-block; margin-top: 6px; padding: 3px 5px; border-radius: 999px; background: var(--vsd-green); color: #fff; font-size: 7px; font-style: normal; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }

.lfp-vsd { margin: 18px 0 10px; padding: 22px; border: 1px solid #cfded7; border-radius: 18px; background: #fff; box-shadow: 0 14px 36px rgba(17, 57, 39, .09); }
.lfp-vsd__header { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid #e4ebe7; }
.lfp-vsd__kicker { margin-bottom: 4px; }
.lfp-vsd h2 { margin: 0; color: #14271e; font-size: 23px; font-weight: 850; letter-spacing: -.025em; line-height: 1.1; }
.lfp-vsd-status { display: inline-flex; gap: 6px; align-items: center; flex: 0 0 auto; min-height: 27px; padding: 6px 10px; border-radius: 999px; font-size: 10px; font-weight: 800; line-height: 1; }
.lfp-vsd-status::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(255,255,255,.55); }
.lfp-vsd-status.is-ok { background: #e5f5ec; color: #0b7243; }
.lfp-vsd-status.is-warn { background: #fff1d6; color: #9a5700; }
.lfp-vsd-status.is-bad { background: #ffe8e6; color: #a52f25; }
.lfp-vsd-status.is-info,
.lfp-vsd-status.is-loading { background: #eaf2f7; color: #406475; }

.lfp-vsd-climate { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; margin-top: 16px; padding: 14px; border: 1px solid #dce7e1; border-radius: 12px; background: #f7faf8; }
.lfp-vsd-climate__copy { display: flex; gap: 10px; align-items: center; }
.lfp-vsd-climate__icon { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; border-radius: 10px; background: #e8f4fa; color: #14749e; font-size: 19px; }
.lfp-vsd-climate__copy strong { display: block; color: #263a31; font-size: 12px; line-height: 1.25; }
.lfp-vsd-climate__copy small { display: block; margin-top: 2px; color: #74817b; font-size: 9px; line-height: 1.3; }
.lfp-vsd-temp { display: flex; align-items: center; overflow: hidden; border: 1px solid #cddbd4; border-radius: 9px; background: #fff; }
.lfp-vsd-temp input { width: 68px !important; height: 39px !important; padding: 0 4px 0 10px !important; border: 0 !important; background: transparent !important; color: #163528 !important; font-size: 16px !important; font-weight: 800; text-align: right; box-shadow: none !important; }
.lfp-vsd-temp input::-webkit-inner-spin-button,
.lfp-vsd-temp input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.lfp-vsd-temp input[type="number"] { appearance: textfield; }
.lfp-vsd-temp span { padding-right: 9px; color: #51655c; font-size: 12px; font-weight: 700; }
.lfp-vsd-presets { display: flex; grid-column: 1 / -1; gap: 6px; }
.lfp-vsd-presets button { min-width: 44px; min-height: 29px; padding: 5px 9px; border: 1px solid #d5e0da; border-radius: 999px; background: #fff; color: #55675f; font: 700 10px/1 inherit; cursor: pointer; }
.lfp-vsd-presets button:hover,
.lfp-vsd-presets button.is-active { border-color: #76b796; background: var(--vsd-green); color: #fff; }

.lfp-vsd-verdict { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 11px; align-items: center; margin-top: 14px; padding: 14px; border-radius: 12px; background: linear-gradient(135deg, #eef8f3, #f8fbf9); }
.lfp-vsd-verdict__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--vsd-green); color: #fff; font-size: 19px; font-weight: 900; }
.lfp-vsd-verdict p { margin: 0; color: #15382a; font-size: 13px; font-weight: 850; line-height: 1.3; }
.lfp-vsd-verdict span { display: block; margin-top: 3px; color: #5f7169; font-size: 10px; line-height: 1.4; }
.lfp-vsd.has-bad .lfp-vsd-verdict { background: #fff5f4; }
.lfp-vsd.has-bad .lfp-vsd-verdict__icon { background: #bd4338; }
.lfp-vsd.has-warn .lfp-vsd-verdict { background: #fff8ea; }
.lfp-vsd.has-warn .lfp-vsd-verdict__icon { background: #d38312; }

.lfp-vsd-layout { display: grid; gap: 12px; margin-top: 14px; }
.lfp-vsd-wiring { padding: 15px; border: 1px solid #dfe7e3; border-radius: 13px; background: #fbfcfb; }
.lfp-vsd-section-title { display: flex; gap: 10px; align-items: center; justify-content: space-between; }
.lfp-vsd-section-title span { color: #77847e; font-size: 9px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.lfp-vsd-section-title h3 { margin: 1px 0 0; color: #173b2c; font-size: 24px; font-weight: 900; letter-spacing: -.035em; line-height: 1; }
.lfp-vsd-section-title .lfp-vsd-chip { padding: 6px 8px; border-radius: 7px; background: #e9f4ef; color: #1b6e48; font-size: 9px; font-weight: 800; letter-spacing: 0; text-transform: none; }
.lfp-vsd-wiring__sub { margin: 7px 0 0; color: #607068; font-size: 10px; line-height: 1.4; }
.lfp-vsd-diagram { display: grid; grid-template-columns: minmax(0, 1fr) 35px 84px; gap: 7px; align-items: center; min-height: 98px; margin-top: 13px; padding: 11px; border-radius: 10px; background: linear-gradient(135deg, #eef4f1, #f7faf8); }
.lfp-vsd-strings { display: grid; gap: 5px; }
.lfp-vsd-string { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 7px; align-items: center; }
.lfp-vsd-string > span { color: #6c7d75; font-size: 8px; font-weight: 700; }
.lfp-vsd-string > div { display: flex; gap: 3px; align-items: center; }
.lfp-vsd-panel { display: inline-block; width: 14px; height: 20px; border: 1px solid #8da79a; border-radius: 2px; background: repeating-linear-gradient(90deg, #173c50 0 4px, #3c6475 4px 5px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.lfp-vsd-more { color: #436257; font-size: 8px; }
.lfp-vsd-string--more { display: block; padding-left: 81px; color: #65776f; font-size: 8px; font-weight: 750; }
.lfp-vsd-flow { display: flex; align-items: center; color: var(--vsd-orange); }
.lfp-vsd-flow i { flex: 1; height: 2px; background: currentColor; }
.lfp-vsd-flow b { font-size: 15px; }
.lfp-vsd-controller { display: grid; align-content: center; min-height: 68px; padding: 9px; border-radius: 8px; background: linear-gradient(145deg, #1991d0, #056ea9); color: #fff; box-shadow: 0 7px 13px rgba(8,120,189,.21); }
.lfp-vsd-controller span { font-size: 6px; font-weight: 850; letter-spacing: .12em; }
.lfp-vsd-controller b { margin-top: 3px; font-size: 11px; line-height: 1.1; }
.lfp-vsd-controller small { margin-top: 5px; color: rgba(255,255,255,.8); font-size: 6px; line-height: 1.2; }
.lfp-vsd-diagram__empty { grid-column: 1 / -1; margin: 0; color: #8b3c35; font-size: 10px; line-height: 1.45; text-align: center; }

.lfp-vsd-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.lfp-vsd-metric { padding: 12px; border: 1px solid #e1e8e4; border-radius: 11px; background: #fff; }
.lfp-vsd-metric > div:first-child { display: flex; gap: 8px; align-items: flex-start; justify-content: space-between; }
.lfp-vsd-metric span { color: #697870; font-size: 8px; font-weight: 750; line-height: 1.25; text-transform: uppercase; }
.lfp-vsd-metric b { flex: 0 0 auto; color: #283b32; font-size: 10px; line-height: 1.2; text-align: right; }
.lfp-vsd-meter { overflow: hidden; height: 5px; margin-top: 9px; border-radius: 999px; background: #e9eeeb; }
.lfp-vsd-meter i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--vsd-green); transition: width .3s ease; }
.lfp-vsd-metric.is-warn .lfp-vsd-meter i { background: #dc8a18; }
.lfp-vsd-metric.is-warn [data-vsd-current-note] { color: #8a560b; font-weight: 750; }
.lfp-vsd-metric.is-bad .lfp-vsd-meter i { background: #bf4338; }
.lfp-vsd-metric.is-info .lfp-vsd-meter i { background: #3980a2; }
.lfp-vsd-metric small { display: block; min-height: 25px; margin-top: 7px; color: #78857f; font-size: 8px; line-height: 1.35; }

.lfp-vsd-notes { display: grid; gap: 8px; margin-top: 12px; }
.lfp-vsd-note { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 9px; align-items: start; padding: 11px; border-radius: 10px; background: #f3f7f5; }
.lfp-vsd-note > span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #dceee5; color: #0c7143; font-size: 11px; font-weight: 900; }
.lfp-vsd-note strong { display: block; color: #274037; font-size: 10px; line-height: 1.3; }
.lfp-vsd-note p { margin: 3px 0 0; color: #687870; font-size: 9px; line-height: 1.42; }
.lfp-vsd-note.is-warn { background: #fff6e6; }
.lfp-vsd-note.is-warn > span { background: #ffe5b7; color: #9b5900; }
.lfp-vsd-note.is-info { background: #eef6fa; }
.lfp-vsd-note.is-info > span { background: #dceff8; color: #126f98; }

.lfp-vsd-actions { display: flex; gap: 9px; align-items: center; margin-top: 13px; }
.lfp-vsd-copy { display: inline-flex; gap: 7px; align-items: center; min-height: 37px; padding: 8px 12px; border: 1px solid #bdd8ca; border-radius: 9px; background: #fff; color: var(--vsd-green-dark); font: 800 10px/1.2 inherit; cursor: pointer; }
.lfp-vsd-copy:hover { border-color: var(--vsd-green); background: #eff8f3; }
.lfp-vsd-copy-state { color: #567067; font-size: 9px; }
.lfp-vsd-details { margin-top: 9px; border: 1px solid #e0e8e4; border-radius: 10px; background: #fff; }
.lfp-vsd-details summary { display: flex; align-items: center; justify-content: space-between; padding: 12px; color: #344b41; font-size: 10px; font-weight: 800; cursor: pointer; list-style: none; }
.lfp-vsd-details summary::-webkit-details-marker { display: none; }
.lfp-vsd-details summary span { color: var(--vsd-green); font-size: 17px; transition: transform .16s ease; }
.lfp-vsd-details[open] summary span { transform: rotate(45deg); }
.lfp-vsd-details > div { padding: 0 12px 12px; color: #67776f; font-size: 9px; line-height: 1.55; }
.lfp-vsd-details p { margin: 7px 0 0; }
.lfp-vsd-float { display: flex; gap: 10px; align-items: center; justify-content: space-between; color: #40574d; font-weight: 750; }
.lfp-vsd-float span { display: inline-flex; gap: 4px; align-items: center; }
.lfp-vsd-float input { width: 58px !important; height: 31px !important; padding: 4px 5px !important; border: 1px solid #d2ddd7 !important; border-radius: 7px !important; background: #f8faf9 !important; color: #263c32 !important; font-size: 11px !important; text-align: right; }
.lfp-vsd-sources { display: flex; gap: 6px 12px; flex-wrap: wrap; }
.lfp-vsd-sources a { color: #0b719f; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.lfp-vsd-disclaimer { margin: 12px 0 0; color: #7a8680; font-size: 8px; line-height: 1.45; }

@media (max-width: 700px) {
  .lfp-vsd-multirs-limit { align-items: stretch; flex-direction: column; }
  .lfp-vsd-limit-info { align-self: flex-start; }
  .lfp-vsd-limit-popover { right: auto; left: 0; }
  .lfp-vsd-limit-popover::before { right: auto; left: 27px; }
  .lfp-vsd-intro { padding: 19px; }
  .lfp-vsd-intro__proof { grid-template-columns: 1fr; }
  .lfp-vsd-solar-toggle { gap: 11px; padding: 15px; }
  .lfp-vsd-solar-toggle__plus { display: none; }
  .lfp-vsd-steps span { flex-direction: column; gap: 3px; }
  .lfp-vsd-enabled .wooco_component_product { grid-template-columns: 1fr; }
  .lfp-vsd-enabled .wooco_component_product_qty { justify-self: stretch; min-width: 136px; }
  .lfp-vsd-enabled .wooco_component_product_qty .wooco-qty-input { grid-template-columns: 42px 52px 42px; width: 136px; height: 40px; }
  .lfp-vsd-enabled .wooco_component_product_qty_btn,
  .lfp-vsd-enabled .wooco_component_product_qty_input { height: 40px !important; }
  .lfp-vsd-enabled .wooco_component_product_qty_btn { width: 42px !important; }
  .lfp-vsd-enabled .wooco_component_product_qty_input { width: 52px !important; line-height: 40px !important; }
  .lfp-vsd { padding: 17px; }
  .lfp-vsd__header { align-items: center; }
  .lfp-vsd-status { max-width: 132px; text-align: center; }
  .lfp-vsd-climate { grid-template-columns: 1fr auto; }
  .lfp-vsd-metrics { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .lfp-vsd-multirs-limit { padding: 12px; }
  .lfp-vsd-limit-popover { position: fixed; top: 50%; right: 14px; left: 14px; width: auto; max-height: calc(100vh - 28px); overflow-y: auto; transform: translateY(-48%); }
  .lfp-vsd-limit-popover::before { display: none; }
  .lfp-vsd-limit-info:hover .lfp-vsd-limit-popover,
  .lfp-vsd-limit-info:focus-within .lfp-vsd-limit-popover,
  .lfp-vsd-limit-info.is-open .lfp-vsd-limit-popover { transform: translateY(-50%); }
  .lfp-vsd-limit-popover__limits { grid-template-columns: 1fr; }
  .lfp-vsd-intro__heading { grid-template-columns: 40px minmax(0, 1fr); gap: 11px; }
  .lfp-vsd-intro__mark { width: 40px; height: 40px; border-radius: 12px; }
  .lfp-vsd-intro h2 { font-size: 20px; }
  .lfp-vsd-solar-toggle { grid-template-columns: auto minmax(0, 1fr); }
  .lfp-vsd-solar-toggle__copy strong { font-size: 13px; }
  .lfp-vsd-steps span { font-size: 8px; }
  .lfp-vsd-climate { grid-template-columns: 1fr; }
  .lfp-vsd-temp { justify-self: start; }
  .lfp-vsd-presets { grid-column: 1; flex-wrap: wrap; }
  .lfp-vsd-diagram { grid-template-columns: 1fr; }
  .lfp-vsd-flow { min-height: 17px; transform: rotate(90deg); justify-self: center; width: 28px; }
  .lfp-vsd-controller { justify-self: center; width: 94px; }
  .lfp-vsd-panel-qty-presets__buttons { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .lfp-vsd-limit-trigger,
  .lfp-vsd-limit-popover,
  .lfp-vsd-enabled .wooco_component.lfp-vsd-component,
  .lfp-vsd-meter i,
  .lfp-vsd-details summary span { transition: none; }
}
