.quote-page{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);max-width:var(--container-max);margin:0 auto;padding:var(--space-xl) var(--space-lg)}@media (min-width: 1024px){.quote-page{grid-template-columns:1.5fr 1fr;gap:var(--space-3xl);padding:var(--space-2xl);align-items:start}}.quote-form-wrapper{min-width:0}.quote-progress{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-2xl);position:relative;padding:0 var(--space-md)}.quote-progress:before{content:"";position:absolute;top:20px;left:calc(var(--space-md) + 20px);right:calc(var(--space-md) + 20px);height:3px;background:var(--color-gray-200);border-radius:var(--radius-full);z-index:0}.quote-progress-fill{position:absolute;top:20px;left:calc(var(--space-md) + 20px);height:3px;background:var(--gradient-primary);border-radius:var(--radius-full);z-index:1;transition:width .5s cubic-bezier(.4,0,.2,1);width:0%}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);position:relative;z-index:2;flex-shrink:0}.progress-step-circle{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-white);border:3px solid var(--color-gray-200);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--color-gray-400);transition:all var(--transition-normal);position:relative}.progress-step-label{font-size:var(--fs-xs);color:var(--color-gray-400);font-weight:var(--fw-medium);text-align:center;max-width:80px;transition:color var(--transition-normal)}.progress-step.active .progress-step-circle{background:var(--gradient-primary);border-color:var(--color-orange);color:var(--color-white);box-shadow:0 0 0 6px #ff6b2b26,var(--shadow-orange);transform:scale(1.1)}.progress-step.active .progress-step-label{color:var(--color-orange);font-weight:var(--fw-semibold)}.progress-step.completed .progress-step-circle{background:var(--color-success);border-color:var(--color-success);color:var(--color-white);box-shadow:0 4px 12px #10b98140}.progress-step.completed .progress-step-circle:after{content:"✓";font-size:var(--fs-sm);font-weight:var(--fw-bold)}.progress-step.completed .step-number{display:none}.progress-step.completed .progress-step-label{color:var(--color-success)}@media (max-width: 600px){.progress-step-label{display:none}.progress-step-circle{width:36px;height:36px;font-size:var(--fs-xs)}.quote-progress{padding:0}.quote-progress:before{left:18px;right:18px;top:18px}.quote-progress-fill{left:18px;top:18px}}.quote-step{display:none;animation:fadeInUp .5s ease-out}.quote-step.active{display:block}.quote-step h3{font-family:var(--font-heading);font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--color-navy);margin-bottom:var(--space-sm)}.quote-step-description{color:var(--color-gray-500);font-size:var(--fs-base);line-height:var(--lh-relaxed);margin-bottom:var(--space-2xl)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-gray-600);margin-bottom:var(--space-sm)}.form-label .required{color:var(--color-error);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);font-size:var(--fs-base);font-family:var(--font-body);color:var(--color-gray-900);background:var(--color-white);transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-gray-400)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-gray-300)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-orange);box-shadow:0 0 0 4px #ff6b2b1a}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8.825L.35 3.175l.7-.7L6 7.425l4.95-4.95.7.7z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;cursor:pointer}.form-textarea{min-height:120px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.form-group.has-error .form-input,.form-group.has-error .form-select,.form-group.has-error .form-textarea{border-color:var(--color-error);box-shadow:0 0 0 4px #ef444414}.form-error{display:none;font-size:var(--fs-xs);color:var(--color-error);margin-top:var(--space-xs);font-weight:var(--fw-medium)}.form-group.has-error .form-error{display:block;animation:fadeInUp .3s ease-out}.form-help{font-size:var(--fs-xs);color:var(--color-gray-400);margin-top:var(--space-xs)}.input-icon-wrapper{position:relative}.input-icon-wrapper .form-input{padding-left:44px}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-gray-400);font-size:var(--fs-md);pointer-events:none}.input-unit-wrapper{position:relative}.input-unit-wrapper .form-input{padding-right:50px}.input-unit{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--color-gray-400);font-size:var(--fs-sm);font-weight:var(--fw-medium);pointer-events:none}.service-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-xl)}@media (min-width: 600px){.service-selector{grid-template-columns:repeat(4,1fr)}}.service-option{position:relative;border:2px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-md);cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm);transition:all var(--transition-normal);background:var(--color-white)}.service-option:hover{border-color:var(--color-blue-light);background:#2563eb08;transform:translateY(-2px);box-shadow:var(--shadow-md)}.service-option.selected{border-color:var(--color-orange);background:#ff6b2b0a;box-shadow:0 0 0 4px #ff6b2b1a,0 8px 24px #ff6b2b1f;transform:translateY(-2px)}.service-option.selected:after{content:"✓";position:absolute;top:var(--space-sm);right:var(--space-sm);width:22px;height:22px;background:var(--color-orange);color:var(--color-white);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);animation:scaleIn .3s ease-out}.service-option input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.service-icon{font-size:2.25rem;line-height:1;margin-bottom:var(--space-xs)}.service-name{font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-gray-800)}.service-price{font-size:var(--fs-xs);color:var(--color-gray-500)}.service-option.selected .service-name{color:var(--color-orange-dark)}.extras-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media (min-width: 600px){.extras-grid{grid-template-columns:repeat(2,1fr)}}.extra-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);background:var(--color-white)}.extra-option:hover{border-color:var(--color-gray-300);background:var(--color-gray-50)}.extra-option.selected{border-color:var(--color-orange);background:#ff6b2b0a}.extra-checkbox{width:22px;height:22px;border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.extra-option.selected .extra-checkbox{background:var(--color-orange);border-color:var(--color-orange)}.extra-option.selected .extra-checkbox:after{content:"✓";color:var(--color-white);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.extra-option input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.extra-info{flex:1;min-width:0}.extra-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-gray-800)}.extra-price{font-size:var(--fs-xs);color:var(--color-gray-500);margin-top:2px}.extra-description{font-size:var(--fs-xs);color:var(--color-gray-400);margin-top:2px}.quote-summary{position:relative;background:var(--gradient-dark);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);padding:var(--space-2xl);color:var(--color-white);overflow:hidden}@media (min-width: 1024px){.quote-summary{position:sticky;top:100px}}.quote-summary:before{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,107,43,.08),transparent 70%);top:-60px;right:-60px;pointer-events:none}.summary-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(255,255,255,.08)}.summary-header h3{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-white);margin-bottom:var(--space-xs)}.summary-header p{font-size:var(--fs-sm);color:var(--color-gray-400)}.summary-line-items{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.summary-line{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm)}.summary-line .line-label{color:var(--color-gray-400)}.summary-line .line-amount{color:var(--color-white);font-weight:var(--fw-semibold);font-family:var(--font-heading)}.summary-line.empty .line-amount{color:var(--color-gray-500);font-style:italic;font-weight:var(--fw-normal);font-family:var(--font-body)}.summary-surcharges{margin-bottom:var(--space-lg)}.summary-surcharge{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-xs);padding:var(--space-xs) 0;color:var(--color-gray-400)}.summary-surcharge .surcharge-amount{color:var(--color-gold);font-weight:var(--fw-medium)}.summary-divider{height:1px;background:#ffffff1a;margin:var(--space-md) 0}.summary-total{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-md)}.summary-total .total-label{font-family:var(--font-heading);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--color-white)}.summary-total .total-amount{font-family:var(--font-heading);font-size:var(--fs-2xl);font-weight:var(--fw-extrabold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.summary-total .total-amount.price-updated{animation:pulse .4s ease-in-out}@keyframes priceHighlight{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.price-highlight{animation:priceHighlight .4s ease-in-out}.summary-disclaimer{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,.06);font-size:var(--fs-xs);color:var(--color-gray-500);font-style:italic;text-align:center;line-height:var(--lh-relaxed)}.summary-empty{text-align:center;padding:var(--space-2xl) 0;color:var(--color-gray-500)}.summary-empty .empty-icon{font-size:2.5rem;margin-bottom:var(--space-md);opacity:.5}.summary-empty p{font-size:var(--fs-sm);color:var(--color-gray-500)}.quote-nav{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-gray-200);gap:var(--space-md)}.quote-nav .btn-prev{background:transparent;color:var(--color-gray-600);border:2px solid var(--color-gray-200);padding:12px 24px;border-radius:var(--radius-lg);font-weight:var(--fw-semibold);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--ls-wide);cursor:pointer;transition:all var(--transition-normal);display:inline-flex;align-items:center;gap:var(--space-sm)}.quote-nav .btn-prev:hover{border-color:var(--color-gray-400);color:var(--color-gray-800);transform:translate(-2px)}.quote-nav .btn-prev .btn-icon{transition:transform var(--transition-fast)}.quote-nav .btn-prev:hover .btn-icon{transform:translate(-3px)}.quote-nav .btn-next{margin-left:auto}.quote-nav .btn-submit{width:100%;padding:16px 32px;font-size:var(--fs-base);justify-content:center}.manual-quote-notice{background:linear-gradient(135deg,#ffc10714,#ffc1070a);border:2px solid rgba(255,193,7,.25);border-radius:var(--radius-xl);padding:var(--space-xl);margin:var(--space-xl) 0;display:flex;align-items:flex-start;gap:var(--space-lg)}.manual-quote-icon{font-size:2rem;flex-shrink:0;line-height:1}.manual-quote-content h4{color:var(--color-gray-800);font-size:var(--fs-md);margin-bottom:var(--space-sm)}.manual-quote-content p{font-size:var(--fs-sm);color:var(--color-gray-600);line-height:var(--lh-relaxed);margin-bottom:var(--space-md)}.manual-quote-content .btn{font-size:var(--fs-xs)}.quote-success{text-align:center;padding:var(--space-3xl) var(--space-xl);animation:fadeInUp .6s ease-out}.success-checkmark{width:80px;height:80px;border-radius:var(--radius-full);background:#10b9811a;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-xl);position:relative;animation:scaleIn .5s ease-out}.success-checkmark:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:var(--radius-full);border:2px solid rgba(16,185,129,.15);animation:ripple 1.5s ease-out}.success-checkmark .check-icon{font-size:2.5rem;color:var(--color-success);animation:fadeIn .4s ease-out .3s both}.success-checkmark svg{width:40px;height:40px}.success-checkmark svg circle{fill:none;stroke:var(--color-success);stroke-width:2;opacity:.2}.success-checkmark svg path{fill:none;stroke:var(--color-success);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;animation:tickStroke .4s ease-out .5s forwards}.quote-success h2{font-family:var(--font-heading);font-size:var(--fs-2xl);color:var(--color-navy);margin-bottom:var(--space-md)}.quote-success p{font-size:var(--fs-md);color:var(--color-gray-500);max-width:500px;margin:0 auto var(--space-lg);line-height:var(--lh-relaxed)}.quote-success .confirmation-ref{display:inline-block;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-gray-700);margin-bottom:var(--space-xl);letter-spacing:var(--ls-wide)}.quote-success .success-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.dimension-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.dimension-input{position:relative}.dimension-input .form-label{font-size:var(--fs-xs);margin-bottom:var(--space-xs)}.dimension-separator{display:flex;align-items:flex-end;justify-content:center;padding-bottom:14px;color:var(--color-gray-400);font-size:var(--fs-lg);font-weight:var(--fw-medium)}@media (max-width: 480px){.quote-page{padding:var(--space-md)}.service-selector{grid-template-columns:1fr 1fr}.service-option{padding:var(--space-md) var(--space-sm)}.service-icon{font-size:1.75rem}.quote-summary{padding:var(--space-lg)}.summary-total .total-amount{font-size:var(--fs-xl)}.quote-nav{flex-direction:column}.quote-nav .btn-prev,.quote-nav .btn-next,.quote-nav .btn-submit{width:100%;justify-content:center}.quote-nav .btn-next{margin-left:0}.manual-quote-notice{flex-direction:column;text-align:center;align-items:center}.dimension-inputs{grid-template-columns:1fr}}.distance-display{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:#2563eb0d;border:1px solid rgba(37,99,235,.15);border-radius:var(--radius-lg);color:var(--color-blue);font-size:var(--fs-sm);font-weight:var(--fw-medium);margin:var(--space-md) 0 var(--space-xl);animation:fadeInUp .4s ease-out}.distance-display svg{flex-shrink:0;color:var(--color-blue-light)}.distance-display strong{color:var(--color-navy);font-weight:var(--fw-bold)}@media print{.quote-progress,.quote-nav,.navbar,.footer{display:none!important}.quote-page{display:block}.quote-summary{position:static;background:var(--color-white);color:var(--color-gray-900);border:2px solid var(--color-gray-200);box-shadow:none;page-break-inside:avoid}.quote-summary .summary-total .total-amount{-webkit-text-fill-color:var(--color-orange)}}
