/* Graphite controls retain native semantics, keyboard access and form behavior. */
.quote-page .quote-main{color-scheme:dark}
.quote-page .quote-service{
  min-height:100px;padding:21px;gap:16px;border:1px solid #48515a;border-radius:12px;
  background-color:#292e33;background-image:linear-gradient(135deg,#ffffff04,transparent 60%);
  box-shadow:inset 0 1px 0 #ffffff05;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.quote-page .quote-service strong{font-weight:600;letter-spacing:-.015em;color:#f0f1f0}
.quote-page .quote-service small{color:#bdc4ca;line-height:1.5}
.quote-page .quote-service input{
  -webkit-appearance:none;appearance:none;display:grid;place-content:center;
  width:23px;height:23px;min-width:23px;margin:0;padding:0;flex-shrink:0;
  border:1px solid #7b858e;border-radius:6px;background:#20262b;
  box-shadow:inset 0 1px 3px #00000026;cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.quote-page .quote-service input::before{
  content:"";display:block;width:12px;height:9px;background:#faf2f5;
  clip-path:polygon(0 43%,16% 27%,40% 53%,83% 0,100% 15%,41% 100%);
  opacity:0;transform:scale(.7);transition:opacity .12s ease,transform .16s cubic-bezier(.2,.8,.2,1);
}
.quote-page .quote-service:has(input:checked){background-color:#34343b;border-color:#b58d9b;box-shadow:inset 0 0 0 1px #b58d9b14,inset 0 1px 0 #ffffff06}
.quote-page .quote-service input:checked{background:#64505d;border-color:#c397a7;box-shadow:inset 0 1px 0 #ffffff0d}
.quote-page .quote-service input:checked::before{opacity:1;transform:scale(1)}
.quote-page .quote-service:has(input:focus-visible){outline:2px solid #d5b1bf;outline-offset:4px}
.quote-page .quote-service input:focus-visible{outline:none}
.quote-page .quote-service:has(input:disabled){opacity:.6;cursor:not-allowed}
.quote-page .quote-service input:disabled{cursor:not-allowed}
.quote-page .quote-fields input,.quote-page .quote-fields select,.quote-page .quote-fields textarea{
  background:#2b3137;color:#f0f2f3;border:1px solid #626c75;border-radius:8px;
  box-shadow:inset 0 1px 2px #00000015;caret-color:#f0c4d3;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.quote-page .quote-fields input::placeholder,.quote-page .quote-fields textarea::placeholder{color:#aab3bc;opacity:1}
.quote-page .quote-fields select{color-scheme:dark;cursor:pointer}
.quote-page .quote-fields select option{background:#2b3137;color:#f0f2f3}
.quote-page .quote-fields select:disabled{background:#252b30;color:#9da6af;border-color:#444d55;opacity:1;cursor:not-allowed}
.quote-page .quote-fields :is(input,select,textarea):focus-visible{background:#30373d;border-color:#c094a4;outline:2px solid #c094a4;outline-offset:3px}
.quote-page .quote-fields input:-webkit-autofill,.quote-page .quote-fields textarea:-webkit-autofill{
  -webkit-text-fill-color:#f0f2f3;-webkit-box-shadow:0 0 0 1000px #2b3137 inset;caret-color:#f0c4d3;
}
.quote-page .quote-idea-photo{background:#292f35}
@media(hover:hover){
  .quote-page .quote-service:hover{background-color:#30363c;border-color:#737e87}
  .quote-page .quote-service:has(input:checked):hover{background-color:#3b3941;border-color:#c49caa}
  .quote-page .quote-fields :is(input,select,textarea):not(:disabled):hover{border-color:#8a959e}
}
@media(max-width:540px){
  .quote-page .quote-service{min-height:88px;padding:18px;gap:14px}
  .quote-page .quote-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .quote-page .quote-actions>a,.quote-page .quote-actions>button{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .quote-page .quote-service,.quote-page .quote-service input,.quote-page .quote-service input::before,
  .quote-page .quote-fields input,.quote-page .quote-fields select,.quote-page .quote-fields textarea{transition:none}
}
@media(forced-colors:active){
  .quote-page .quote-service input{-webkit-appearance:auto;appearance:auto;background:Canvas;border-color:ButtonText;box-shadow:none}
  .quote-page .quote-service input::before{display:none}
  .quote-page .quote-service:has(input:checked){border-color:Highlight}
  .quote-page .quote-service:has(input:focus-visible){outline-color:Highlight}
  .quote-page .quote-fields :is(input,select,textarea){background:Canvas;color:CanvasText;border-color:ButtonText;box-shadow:none}
}
