
/* /vual_planter_site/static/src/css/planter_pages.css */
 .vual-cp{padding-bottom: 4rem; background: var(--vual-paper);}.vual-cp__container{padding-top: clamp(1.5rem, 4vw, 3rem);}.vual-cp__head{max-width: 48rem; margin-bottom: 1.75rem;}.vual-cp__title{margin: 0 0 .75rem; font-family: var(--vual-display); font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 400; line-height: 1.05;}.vual-cp__lead{max-width: 62ch; margin: 0; color: var(--vual-muted); font-size: 1.0625rem; line-height: 1.6;}.vual-cp__own-design{margin: .7rem 0 0; color: var(--vual-muted); line-height: 1.55;}.vual-cp__own-design a{color: var(--vual-green-ink); font-weight: 650; text-decoration: underline; text-underline-offset: .18em;}.vual-cp__alert{margin: 1rem 0 0; padding: .75rem 1rem; border-left: 3px solid var(--vual-danger); background: var(--vual-warning-bg); color: var(--vual-ink);}.vual-cp__layout{display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; counter-reset: vual-cp-step;}.vual-cp__steps{margin: 0;}.vual-cp__step{min-width: 0; margin: 0 0 1.75rem; padding: 0; border: 0;}.vual-cp__legend{display: flex; align-items: center; gap: .6rem; margin-bottom: .9rem; float: none; width: auto; font-size: 1.25rem; font-weight: 700; color: var(--vual-ink);}.vual-cp__legend::before{counter-increment: vual-cp-step; content: counter(vual-cp-step); display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--vual-ink); color: var(--vual-paper); font-size: .875rem;}.vual-cp__models{display: grid; grid-template-columns: repeat(auto-fill, minmax(8.25rem, 1fr)); gap: .6rem;}.vual-cp__models[hidden], .vual-cp__selected-model[hidden]{display: none !important;}.vual-cp__selected-model{display: flex; align-items: center; gap: .8rem; min-height: 4.25rem; padding: .35rem .7rem; border: 1px solid var(--vual-rule); background: var(--vual-paper);}.vual-cp__selected-model img{width: 3.5rem; height: 3.5rem; object-fit: contain;}.vual-cp__selected-model img[hidden]{display: none;}.vual-cp__selected-model strong{min-width: 0; flex: 1;}.vual-cp__change-model{flex: 0 0 auto; padding: .35rem .2rem; border: 0; background: transparent; color: var(--vual-green-ink); text-decoration: underline; text-underline-offset: .2em;}.vual-cp__change-model:focus-visible{outline: 2px solid var(--vual-ink); outline-offset: 2px;}.vual-cp__step[data-vual-cp-step="size"]{scroll-margin-top: 6.5rem;}.vual-cp__model{position: relative; display: flex; flex-direction: column; gap: .2rem; padding: .5rem .5rem .65rem; border: 1px solid var(--vual-rule); border-radius: var(--vual-radius); background: var(--vual-paper); cursor: pointer;}.vual-cp__model-input{position: absolute; opacity: 0; pointer-events: none;}.vual-cp__model:has(.vual-cp__model-input:checked){border-color: var(--vual-ink); box-shadow: inset 0 0 0 1px var(--vual-ink); background: var(--vual-green-soft);}.vual-cp__model:has(.vual-cp__model-input:focus-visible){outline: 2px solid var(--vual-ink); outline-offset: 2px;}@media (hover: hover) and (pointer: fine){.vual-cp__model:hover{border-color: var(--vual-ink); transition: border-color var(--vual-duration-ui) var(--vual-ease-out);}}.vual-cp__model-picture{display: block; aspect-ratio: 1; overflow: hidden; background: var(--vual-paper);}.vual-cp__model-picture img{display: block; width: 100%; height: 100%; object-fit: contain;}.vual-cp__model-name{font-weight: 700; color: var(--vual-ink);}@media (max-width: 767.98px){.vual-cp__models{grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(7.5rem, 38%); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; padding-bottom: .5rem;}.vual-cp__model{scroll-snap-align: start;}}.vual-cp__badge{align-self: flex-start; padding: .05rem .45rem; border: 1px solid var(--vual-rule-strong); border-radius: 999px; color: var(--vual-muted); font-size: .75rem;}.vual-cp__size-fields{display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 11rem)); gap: .75rem;}.vual-cp__field{display: flex; flex-direction: column; gap: .25rem; margin: 0; font-size: .875rem; color: var(--vual-ink);}.vual-cp__field .form-control{min-height: 44px; border-color: var(--vual-field-border); border-radius: var(--vual-radius); font-variant-numeric: tabular-nums;}.vual-cp__field .form-control[aria-invalid="true"]{border-color: var(--vual-danger);}.vual-cp__field-error{color: var(--vual-danger); font-size: .8125rem;}.vual-cp__hint, .vual-cp__size-status{margin: .5rem 0 0; color: var(--vual-muted); font-size: .875rem;}.vual-cp__size-status:empty{display: none;}.vual-cp__lip{margin-top: .75rem;}.vual-cp__lip-summary{min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600;}.vual-cp__lip-hint{color: var(--vual-muted); font-size: .8125rem;}.vual-cp__see3d{display: inline-flex; align-items: center; min-height: 44px; color: var(--vual-green-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}@media (min-width: 992px){.vual-cp__see3d{display: none !important;}}.vual-cp__choices{display: flex; flex-wrap: wrap; gap: .5rem;}.vual-cp__choice, .vual-cp__check{display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; margin: 0; padding: .4rem .9rem; border: 1px solid var(--vual-rule-strong); border-radius: var(--vual-radius); background: var(--vual-paper); color: var(--vual-ink); cursor: pointer;}.vual-cp__check{margin-top: .75rem;}.vual-cp__choice:has(input:checked), .vual-cp__check:has(input:checked){border-color: var(--vual-ink); background: var(--vual-green-soft);}.vual-cp__choice input, .vual-cp__check input{width: 1.1rem; height: 1.1rem; margin: 0; accent-color: var(--vual-ink);}.vual-cp__colours{display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;}.vual-cp__swatch{position: relative; display: inline-flex; align-items: center; gap: .5rem; min-width: 44px; min-height: 44px; margin: 0; cursor: pointer;}.vual-cp__swatch-input{position: absolute; opacity: 0; pointer-events: none;}.vual-cp__swatch-chip{display: block; width: 2.25rem; height: 2.25rem; border: 1px solid color-mix(in srgb, var(--vual-ink) 18%, transparent); border-radius: 50%; box-shadow: 0 0 0 3px var(--vual-paper);}.vual-cp__swatch--other .vual-cp__swatch-chip{background: var(--vual-planter-hue-wheel);}.vual-cp__swatch-text{padding-right: .5rem; font-size: .9375rem; font-weight: 600;}.vual-cp__swatch:has(input:checked) .vual-cp__swatch-chip{box-shadow: 0 0 0 3px var(--vual-paper), 0 0 0 5px var(--vual-ink);}.vual-cp__swatch:has(input:focus-visible){outline: 2px solid var(--vual-ink); outline-offset: 4px; border-radius: 999px;}.vual-cp__colour-name{margin: .6rem 0 0; color: var(--vual-ink); font-weight: 600;}.vual-cp__colour-name:empty{display: none;}.vual-cp__subhead{margin: 1.25rem 0 .5rem; font-weight: 700; color: var(--vual-ink);}.vual-cp__order{display: grid; grid-template-columns: minmax(0, 8rem) minmax(0, 1fr); gap: .75rem;}.vual-cp__optional{color: var(--vual-muted); font-weight: 400;}.vual-cp__field-error[hidden], .vual-cp__field-error:empty{display: none;}.vual-cp__stage-wrap{position: relative;}.vual-cp__stage-wrap + .vual-planter-angles, .vual-design-page__stage-wrap + .vual-planter-angles{margin-top: .5rem;}.vual-cp__stage{position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--vual-paper); touch-action: pan-y;}.vual-cp__stage:focus-visible{outline: 2px solid var(--vual-ink); outline-offset: -2px;}.vual-cp__stage .vual-planter-canvas, .vual-design-page__stage .vual-planter-canvas{position: absolute; inset: 0; display: block; width: 100%; height: 100%;}.vual-cp__photo{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain;}.vual-cp__stage-status{position: absolute; left: .75rem; right: .75rem; bottom: .5rem; margin: 0; color: var(--vual-muted); font-size: .8125rem; pointer-events: none;}.vual-cp__stage-status:empty{display: none;}.vual-cp__metrics{margin: .5rem 0 0; color: var(--vual-ink); font-weight: 600; font-variant-numeric: tabular-nums;}.vual-cp__metrics:empty{display: none;}.vual-cp__summary{margin-top: 1.25rem; padding: 1.25rem; border: 1px solid var(--vual-rule); border-radius: var(--vual-radius); background: var(--vual-surface);}.vual-cp__summary-title{margin: 0 0 .75rem; font-size: 1.125rem; font-weight: 700;}.vual-cp__rows, .vual-design-page__rows{display: grid; gap: .35rem; margin: 0;}.vual-cp__row, .vual-design-page__row{display: grid; grid-template-columns: minmax(6.5rem, 38%) minmax(0, 1fr); gap: .75rem;}.vual-cp__row dt, .vual-design-page__row dt{color: var(--vual-muted); font-weight: 600;}.vual-cp__row dd, .vual-design-page__row dd{display: flex; align-items: center; gap: .4rem; margin: 0; color: var(--vual-ink); font-weight: 600; overflow-wrap: anywhere;}.vual-cp__row-swatch, .vual-design-page__swatch{flex: none; display: inline-block; width: 1rem; height: 1rem; border: 1px solid var(--vual-rule-strong); border-radius: 50%;}.vual-cp__empty{margin: 0; color: var(--vual-muted);}.vual-cp__block{margin: .9rem 0 0; color: var(--vual-ink); font-size: .9375rem;}.vual-cp__block:empty{display: none;}.vual-cp__actions, .vual-design-page__actions{display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem;}.vual-cp__cta{min-height: 48px;}.vual-cp__slot:empty{display: none;}.vual-cp__note, .vual-design-page__note{margin: .9rem 0 0; color: var(--vual-muted); font-size: .8125rem;}.vual-cp__bar{display: none;}@media (min-width: 992px){.vual-cp__layout{grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); grid-template-areas: "models side" "steps side"; align-items: start; column-gap: 3rem; row-gap: 0;}.vual-cp__models-step{grid-area: models;}.vual-cp__steps{grid-area: steps;}.vual-cp__side{grid-area: side; position: sticky; top: 96px; align-self: start;}}@media (max-width: 991.98px){.vual-cp__side{display: contents;}.vual-cp__models-step{order: 0;}.vual-cp__preview{order: 1;}.vual-cp__steps{order: 2;}.vual-cp__summary{order: 3; margin-top: 0;}.vual-cp:not(.vual-cp--ready) .vual-cp__preview{display: none;}.vual-cp__stage{aspect-ratio: auto; height: min(72vw, 360px);}.vual-cp__order{grid-template-columns: minmax(0, 1fr);}.vual-cp__bar:not([hidden]){position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 52px; padding: .4rem calc(16px + 56px + 12px) .4rem 16px; border-top: 1px solid var(--vual-rule); background: var(--vual-paper); font-size: .875rem;}.vual-cp__bar-text{overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600;}.vual-cp__bar-link{flex: none; display: inline-flex; align-items: center; min-height: 44px; color: var(--vual-green-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px;}}.vual-cp--closed .vual-cp__closed-actions{display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem;}.vual-cp__text-link{color: var(--vual-green-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}.vual-design-page{padding-bottom: 4rem; background: var(--vual-paper);}.vual-design-page__container{padding-top: clamp(1.5rem, 4vw, 3rem);}.vual-design-page__layout{display: grid; gap: 1.75rem;}.vual-design-page__visual{position: relative;}.vual-design-page__stage-wrap{position: relative;}@media (min-width: 992px){.vual-design-page__layout{grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: 3.5rem;}.vual-design-page__visual{position: sticky; top: 96px;}}.vual-design-page__stage{position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--vual-paper); touch-action: pan-y;}.vual-design-page__stage:focus-visible{outline: 2px solid var(--vual-ink); outline-offset: -2px;}.vual-design-page__image{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain;}.vual-design-page__stage.has-3d .vual-design-page__image{display: none;}.vual-design-page__status{position: absolute; left: .75rem; right: .75rem; bottom: .5rem; margin: 0; color: var(--vual-muted); font-size: .8125rem; pointer-events: none;}.vual-design-page__status:empty{display: none;}.vual-design-page__eyebrow{margin: 0 0 .35rem; color: var(--vual-muted); font-size: .875rem; font-weight: 600;}.vual-design-page__title{display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .75rem; margin: 0 0 1rem; font-family: var(--vual-display); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 400; line-height: 1.05;}.vual-design-page__size{font-family: var(--vual-type); font-size: 1.125rem; font-weight: 700; font-variant-numeric: tabular-nums;}.vual-design-page__code{margin-bottom: 1.25rem; padding: 1rem; border: 1px solid var(--vual-rule-strong); border-radius: var(--vual-radius); background: var(--vual-surface);}.vual-design-page__code-value{margin-top: 0;}.vual-design-page__link{display: inline-flex; align-items: center; min-height: 44px; color: var(--vual-green-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}.vual-design-page__slot:empty{display: none;}@media (prefers-reduced-motion: reduce){.vual-cp__model{transition: none !important;}}.vual-cp__drain{min-width: 0; margin: 0; padding: 0; border: 0;}.vual-cp__drain[hidden], .vual-cp__check[hidden], [data-vual-cp-wheels-hint][hidden], [data-vual-cp-wheels-dropped][hidden]{display: none;}.vual-cp__drain .vual-cp__subhead{float: none; width: auto; padding: 0; font-size: 1rem;}

/* /vual_planter_rfq/static/src/css/planter_rfq.css */
 .vual-planter-rfq{display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-top: 1rem;}.vual-planter-rfq__add{min-height: 48px;}.vual-planter-rfq__list{display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; color: var(--vual-green-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}.vual-planter-rfq__list:hover{color: var(--vual-ink);}.vual-planter-rfq__note{flex: 1 1 100%; margin: 0; max-width: 60ch; color: var(--vual-muted); font-size: .9rem; line-height: 1.45;}@media (max-width: 575.98px){.vual-planter-rfq__add{flex: 1 1 100%;}}