body{margin:0;font-family:open sans,Arial,sans-serif;background:#f5f7fb;color:#0f172a}.tv-step{box-sizing:border-box;padding:40px 16px 60px;max-width:1200px;margin:0 auto;min-height:100vh;display:none}.tv-step.active{display:flex;flex-direction:column;justify-content:flex-start}.step-header{position:relative;display:grid;grid-template-columns:.8fr 1.4fr .8fr;grid-template-rows:repeat(3,auto);align-items:center;text-align:center;margin-bottom:20px;gap:4px 10px;padding:10px 14px;width:100%;max-width:1040px;min-height:130px;margin-left:auto;margin-right:auto;background:linear-gradient(180deg,#ffffff 0%,#f6f8fb 100%);border:1px solid #e8edf5;border-radius:18px;box-shadow:0 10px 22px rgba(15,23,42,5%)}.step-header h2{font-size:1.8rem;font-weight:700;margin:0;line-height:1.25;grid-column:2;grid-row:1;justify-self:center}.step-header p{font-size:.95rem;color:#555;margin:0;line-height:1.5;max-width:720px;grid-column:2;grid-row:2;justify-self:center}.step-helper-text{color:#475569;font-size:.9rem;line-height:1.4;max-width:560px}.step-header-top{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;width:100%}.step-header::before{content:"";grid-column:1;grid-row:1/4;justify-self:center;align-self:center;grid-column:1/-1;width:140px;height:42px;border-radius:0;background:0 0;background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/webapp.webp);background-size:contain;background-repeat:no-repeat;background-position:50%;color:transparent;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}@media(min-width:641px){.tv-step{max-width:960px;zoom:1.25;transform-origin:top center}.step-header{padding:8px 12px;max-width:1040px;min-height:148px;margin-bottom:16px}.step-header .step-helper-text{grid-column:2;grid-row:3;justify-self:center;margin-top:3px;max-width:680px}.step-header::before{position:relative;left:auto;top:auto;grid-column:1;grid-row:1/5;justify-self:center;align-self:center;width:248px;height:71px;transform:none}.step-header-top{gap:2px}.btn-view-project{height:32px;padding:6px 12px;font-size:.8rem}.icon-tv-regular,.icon-tv-fireplace,.icon-tv-outdoor,.icon-tv-ceiling,.icon-mount,.icon-generic{border:none!important;box-shadow:none;background:0 0}.icon-mount::after,.icon-generic::after{border:none}.location-icon,.option-icon{border:none!important;box-shadow:none;background:0 0}}.current-tv-context{grid-column:2;grid-row:3;justify-self:center;margin-top:6px;padding:6px 10px;border-radius:10px;background:#eef2ff;color:#1d4ed8;font-size:.9rem;font-weight:700}.btn-view-project{display:inline-flex;align-items:center;justify-content:center;height:36px;position:static;grid-column:3;grid-row:1/4;justify-self:center;align-self:center;margin-top:0;padding:8px 18px;border-radius:999px;border:none;background:#0094da;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 8px 16px rgba(0,148,218,.2)}.btn-view-project:hover{opacity:.9}.mobile-step-copy{display:none}.step-footer{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:12px;position:sticky;bottom:0;z-index:6;padding:16px 0 10px;background:linear-gradient(to top,#ffffff 82%,rgba(255,255,255,0));width:100%;align-self:stretch}.step-total{margin-top:28px;padding:14px 18px;text-align:center;font-size:1.05rem;display:inline-flex;align-items:center;gap:10px;background:#f8fafc;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,6%);border:1px solid #e4eaf2}.step-nav{display:inline-flex;align-items:center;gap:12px;overflow:visible}.step-total--combined{margin-top:14px;background:linear-gradient(135deg,#e8f3ff,#f8fafc);border-color:#d6e6ff}@media(min-width:641px){.step-footer{max-width:820px;margin:24px auto 0;padding:10px 0 14px;background:0 0;gap:10px}.step-total{margin-top:12px}}.btn-next-step,.btn-prev-step,.btn-request-appointment,.btn-submit-estimate{display:inline-block;position:relative;overflow:visible;min-width:160px;margin:0 8px;padding:10px 20px;border-radius:999px;border:none;font-size:.95rem;font-weight:600;cursor:pointer}.btn-next-step,.btn-request-appointment,.btn-submit-estimate{background:#0094da;color:#fff}#step11-booking .btn-request-appointment{display:inline-flex;align-items:center;justify-content:center;min-width:210px;min-height:46px;margin:0 8px;padding:12px 24px;border:none;border-radius:999px;background:#0094da!important;color:#fff!important;font:inherit;font-size:.95rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 10px 22px rgba(0,148,218,.24);appearance:none;-webkit-appearance:none}#step11-booking .btn-request-appointment:hover,#step11-booking .btn-request-appointment:focus-visible{background:#007fc0!important;color:#fff!important}.btn-prev-step{background:#f9f9f9;color:#333;border:1px solid #e0e0e0}.btn-next-step.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.size-grid,.location-grid,.option-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:18px;justify-items:center;margin-top:32px;width:100%;max-width:900px;margin-left:auto;margin-right:auto}@media(min-width:641px){.size-grid,.location-grid,.option-grid{max-width:1040px;gap:24px;margin-top:48px}.location-option,.size-option,.radio-option,.checkbox-option{max-width:150px;padding:12px 10px;box-shadow:0 4px 10px rgba(0,0,0,6%)}.location-option.is-selected,.size-option.is-selected,.radio-option.is-selected,.checkbox-option.is-selected{box-shadow:0 10px 18px rgba(0,148,218,.14)}.location-icon,.option-icon{width:88px;height:88px}.step-header h2{font-size:1.65rem}.step-header p{line-height:1.4}.location-price,.option-price,.size-label-sub{font-style:normal;font-weight:700;color:#00a651}}.location-option,.size-option,.radio-option,.checkbox-option{width:100%;max-width:160px;aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:12px 10px;border-radius:10px;border:1px solid #e0e0e0;box-shadow:0 2px 6px rgba(0,0,0,6%);background:#fff;text-align:center;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;position:relative}.location-option:hover,.size-option:hover,.radio-option:hover,.checkbox-option:hover{box-shadow:0 8px 14px rgba(0,0,0,8%);transform:translateY(-2px)}.location-option.is-selected,.size-option.is-selected,.radio-option.is-selected,.checkbox-option.is-selected{border-color:#0094da;box-shadow:0 10px 18px rgba(0,148,218,.18)}.checkbox-option.is-selected::after{content:"✓";position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:#0094da;color:#fff;font-weight:800;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(0,148,218,.25)}.location-icon,.option-icon{width:80px;height:80px;max-width:none;margin:0 auto 10px;border-radius:8px;border:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}.icon-tv-regular,.icon-tv-fireplace,.icon-tv-outdoor,.icon-tv-ceiling{display:inline-block;width:52px;height:32px;border:3px solid #0094da;border-radius:3px}#step3-size .icon-tv-regular{width:56px;height:56px;border:0;border-radius:10px;background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-size-regular.webp);background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none}#step1-location .icon-tv-regular,#step1-location .icon-tv-fireplace,#step1-location .icon-tv-outdoor,#step1-location .icon-tv-ceiling{width:56px;height:56px;border:0;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none}#step1-location .icon-tv-regular{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-location-regular.webp)}#step1-location .icon-tv-fireplace{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-location-fireplace.webp)}#step1-location .icon-tv-outdoor{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-location-outdoor.webp)}#step1-location .icon-tv-ceiling{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-location-ceiling.webp)}#step2-wall .radio-option[data-value=drywall-wood] .icon-generic,#step2-wall .radio-option[data-value=drywall-metal] .icon-generic,#step2-wall .radio-option[data-value=concrete-brick] .icon-generic,#step2-wall .radio-option[data-value=marble-tile] .icon-generic{width:56px;height:56px;border:none!important;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none!important;background-color:transparent;position:relative}#step2-wall .radio-option[data-value=drywall-wood] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-wall-drywall-wood.webp)}#step2-wall .radio-option[data-value=drywall-metal] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-wall-drywall-metal.webp)}#step2-wall .radio-option[data-value=concrete-brick] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-wall-brick-concrete.webp)}#step2-wall .radio-option[data-value=marble-tile] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-wall-marble-tile.webp)}#step2-wall .option-icon{border:none!important;box-shadow:none!important;background:0 0}#step2-wall .icon-generic::after{content:none}#step4-mount .radio-option[data-type=provide-own] .icon-mount,#step4-mount .radio-option[data-type=fixed-motion] .icon-mount,#step4-mount .radio-option[data-type=tilting-motion] .icon-mount,#step4-mount .radio-option[data-type=full-swivel-motion] .icon-mount,#step4-mount .radio-option[data-type=ceiling-mount] .icon-mount,#step4-mount .radio-option[data-type=pull-down-motion] .icon-mount{width:60px;height:60px;border:none!important;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none!important;background-color:transparent}#step4-mount .radio-option[data-type=provide-own] .icon-mount{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-mount-own.webp)}#step4-mount .radio-option[data-type=fixed-motion] .icon-mount{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-mount-fixed.webp)}#step4-mount .radio-option[data-type=tilting-motion] .icon-mount{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-mount-tilting.webp)}#step4-mount .radio-option[data-type=full-swivel-motion] .icon-mount{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-mount-full-motion.webp)}#step4-mount .radio-option[data-type=ceiling-mount] .icon-mount{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-location-ceiling.webp)}#step4-mount .radio-option[data-type=pull-down-motion] .icon-mount{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-location-fireplace.webp)}#step4-mount .option-icon{border:none!important;box-shadow:none!important;background:0 0}#step4-mount .icon-mount::after{content:none}#step5-cord .radio-option[data-group=cord-power] .icon-generic{width:62px;height:62px;border:none!important;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none!important;background-color:transparent;position:relative}#step5-cord .radio-option[data-value=no-cord] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-cord-none.webp)}#step5-cord .radio-option[data-value=ext-conduit-89] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-cord-conduit.webp)}#step5-cord .radio-option[data-value=ext-conduit-112] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-cord-conduit.webp)}#step5-cord .radio-option[data-value=power-only] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-cord-power.webp)}#step5-cord .radio-option[data-value=power-lv-kit] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-cord-power-lv.webp)}#step5-cord .radio-option[data-value=recessed-box] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-cord-recessed.webp)}#step5-cord .option-icon{border:none!important;box-shadow:none!important;background:0 0}#step5-cord .icon-generic::after{content:none}#step6-outlet .radio-option[data-group=outlet-check] .icon-generic{width:60px;height:60px;border:none!important;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none!important;background-color:transparent;position:relative}#step6-outlet .radio-option[data-value=centered] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-outlet-centered.webp)}#step6-outlet .radio-option[data-value=offset] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-outlet-offset.webp)}#step6-outlet .radio-option[data-value=none] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-outlet-none.webp)}#step6-outlet .option-icon{border:none!important;box-shadow:none!important;background:0 0}#step6-outlet .icon-generic::after{content:none}#outlet-plan-modal .outlet-plan-option .icon-generic{width:56px;height:56px;border:none!important;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none!important;background-color:transparent}#outlet-plan-modal .outlet-plan-option[data-value=power-bridge] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-outlet-plan-power-bridge.webp)}#outlet-plan-modal .outlet-plan-option[data-value=custom-project] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-outlet-plan-custom.webp)}#outlet-plan-modal .outlet-plan-option[data-value=no-concealment] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-outlet-plan-none.webp)}#outlet-plan-modal .option-icon{border:none!important;box-shadow:none!important;background:0 0}#outlet-plan-modal .icon-generic::after{content:none}#soundbar-bracket-modal .soundbar-bracket-option .icon-generic{width:56px;height:56px;border:none!important;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none!important;background-color:transparent}#soundbar-bracket-modal .soundbar-bracket-option[data-value=own] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-mount-own.webp)}#soundbar-bracket-modal .soundbar-bracket-option[data-value=universal] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-soundbar-bracket.webp)}#soundbar-bracket-modal .option-icon{border:none!important;box-shadow:none!important;background:0 0}#soundbar-bracket-modal .icon-generic::after{content:none}#soundbar-bracket-modal{align-items:center;justify-content:center;padding:0 12px}#soundbar-bracket-modal .modal-card{margin-top:0;max-width:460px;width:100%}@media(max-width:640px){#soundbar-bracket-modal .modal-card{width:min(420px,calc(100% - 24px))}}#soundbar-bracket-modal .option-tooltip{display:none!important}#step8-tvcount .radio-option[data-group=tv-count] .icon-generic{width:56px;height:56px;border:none!important;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none!important;background-color:transparent}#step8-tvcount .radio-option[data-value=yes] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-tvcount-yes.webp)}#step8-tvcount .radio-option[data-value=no] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-tvcount-no.webp)}#step8-tvcount .option-icon{border:none!important;box-shadow:none!important;background:0 0}#step8-tvcount .icon-generic::after{content:none}#step9-cables .checkbox-option[data-addon=tv-dismount] .icon-generic,#step9-cables .checkbox-option[data-addon=hdmi-cable] .icon-generic,#step9-cables .checkbox-option[data-addon=extension-cord] .icon-generic{width:60px;height:60px;border:none!important;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none!important;background-color:transparent}#step9-cables .checkbox-option[data-addon=tv-dismount] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-step10-dismount.webp)}#step9-cables .checkbox-option[data-addon=hdmi-cable] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-step10-hdmi.webp)}#step9-cables .checkbox-option[data-addon=extension-cord] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-step10-extension.webp)}#step9-cables .step10-review-card .icon-generic{width:60px;height:60px;border:none!important;border-radius:10px;background-size:contain;background-repeat:no-repeat;background-position:50%;background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-tvcount-no.webp)}#step9-cables .step10-review-card.has-addons .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-tvcount-yes.webp)}#step9-cables .option-icon{border:none!important;box-shadow:none!important;background:0 0}#step9-cables .icon-generic::after{content:none}#step7-addons .checkbox-option[data-addon=soundbar-mount] .icon-generic,#step7-addons .checkbox-option[data-addon=soundbar-below] .icon-generic,#step7-addons .checkbox-option[data-addon=shelf-mount] .icon-generic{width:63px;height:63px;border:none!important;border-radius:10px;background-repeat:no-repeat;background-position:50%;background-size:contain;box-shadow:none!important;background-color:transparent}#step7-addons .checkbox-option[data-addon=soundbar-mount] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-addon-soundbar-mount.webp)}#step7-addons .checkbox-option[data-addon=soundbar-below] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-addon-soundbar-below.webp)}#step7-addons .checkbox-option[data-addon=shelf-mount] .icon-generic{background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-addon-shelf.webp)}#step7-addons .checkbox-option.skip-addons .option-icon img{width:63px;height:63px;display:block;object-fit:contain;margin:0 auto}#step7-addons .option-icon{border:none!important;box-shadow:none!important;background:0 0}#step7-addons .icon-generic::after{content:none}.step7-next-arrow{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)translateY(4px);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:14px solid #ed008c;border-radius:0;background:0 0;display:none;box-shadow:none;z-index:20;animation:step7-arrow-bounce 1.4s ease-in-out infinite}.step7-next-arrow::after{content:none}.step7-next-arrow.is-visible{display:none;transform:translateX(-50%)translateY(0)}@keyframes step7-arrow-bounce{0%,100%{transform:translateX(-50%)translateY(0)}50%{transform:translateX(-50%)translateY(-5px)}}.icon-mount{position:relative;display:inline-block;width:52px;height:40px;border:3px solid #0094da;border-radius:8px}.icon-mount::after{content:"";position:absolute;top:50%;left:50%;width:26px;height:10px;border:3px solid #0094da;border-radius:4px;transform:translate(-50%,-50%)}.icon-generic{position:relative;display:inline-block;width:48px;height:48px;border:3px solid #0094da;border-radius:10px}.icon-generic::after{content:"";position:absolute;width:20px;height:8px;border:3px solid #0094da;border-radius:4px;top:50%;left:50%;transform:translate(-50%,-50%)}.location-name,.option-name{display:block;margin:4px 0;color:#222}.location-price,.option-price,.size-label-sub{font-size:.8rem;font-style:italic;color:#00a651}.option-tooltip{display:none;position:absolute;top:-12px;left:50%;transform:translate(-50%,-100%);background:#111827;color:#fff;font-size:.8rem;padding:8px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.18);z-index:5}.option-tooltip::after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);border-width:6px;border-style:solid;border-color:#111827 transparent transparent transparent}.location-option:hover .option-tooltip,.radio-option:hover .option-tooltip,.checkbox-option:hover .option-tooltip,.location-option:focus-visible .option-tooltip,.radio-option:focus-visible .option-tooltip,.checkbox-option:focus-visible .option-tooltip{display:block}.summary-tv-list{display:grid;gap:18px;max-width:1e3px;margin:16px auto 24px;grid-template-columns:1fr}.summary-tv-list.summary-count-1{max-width:780px}@media(min-width:900px){.summary-tv-list{grid-template-columns:repeat(2,minmax(320px,1fr))}}.summary-tv-card{position:relative;border:1px solid #e4eaf2;border-radius:16px;background:linear-gradient(135deg,#fdfefe,#f5f8ff);box-shadow:0 12px 30px rgba(0,148,218,8%),0 6px 16px rgba(15,23,42,5%);overflow:hidden;transition:transform .18s ease,box-shadow .22s ease,border-color .18s ease;display:grid;grid-auto-rows:auto;gap:0}.summary-tv-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#0094da,#0b65c2);opacity:.9}.summary-tv-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,148,218,.12),0 8px 20px rgba(15,23,42,7%);border-color:#c6d6f4}.summary-tv-headerbar{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:14px 16px;background:0 0;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left}.summary-tv-headerbar .summary-tv-name{font-weight:700;font-size:1rem;color:#0f172a}.summary-tv-headerbar .summary-tv-total{font-weight:700;font-size:1rem;color:#0b65c2}.summary-tv-headerbar .summary-tv-caret{font-size:.85rem;color:#0f172a}.summary-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.summary-item{display:flex;justify-content:space-between;gap:10px;font-size:1rem;color:#1f2933;align-items:flex-start;padding:12px;border-radius:12px;background:rgba(255,255,255,.9);border:1px solid #edf1f7;box-shadow:0 4px 10px rgba(15,23,42,4%);min-height:52px}.summary-qty{text-align:center;font-weight:600;color:#0f172a}.summary-label{font-weight:400;font-size:14.4px;color:#4b5563}.summary-price{font-weight:700;color:#0b65c2;font-size:1rem}.summary-price.included{color:#058b5e}.summary-desc{font-size:.9rem;color:#4b5563;margin-top:2px}.summary-tv-subtotal{margin-top:8px;padding:10px 16px 14px;font-weight:800;color:#0f172a;display:flex;justify-content:flex-end;align-items:center;gap:8px;border-top:1px solid #e3e8f2}.summary-fee-row{max-width:820px;margin:0 auto 12px;border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f8fafc;box-shadow:0 6px 16px rgba(0,0,0,5%);grid-column:1/-1}.summary-fee-text{display:flex;flex-direction:column;gap:4px}.summary-fee-label{font-weight:700;color:#0f172a}.summary-fee-desc{font-size:.9rem;color:#4b5563}.summary-project-row{position:relative;max-width:none;margin:12px 0;border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:0;display:flex;flex-direction:column;gap:0;box-shadow:0 4px 12px rgba(15,23,42,6%);align-self:stretch;grid-column:1/-1;justify-self:stretch;width:100%;box-sizing:border-box;overflow:hidden}.summary-project-row::before{content:none}.summary-project-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:#0f172a;color:#fff;border:none;padding:10px 16px;border-radius:12px 12px 0 0;cursor:pointer;font-weight:700;box-sizing:border-box}.summary-project-title{font-weight:700;color:inherit;font-size:.95rem;background:0 0;padding:0;border-radius:0;display:inline-flex;align-items:center;gap:7px;width:auto}.summary-project-line{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;font-size:14.4px;color:#334155;font-weight:400}.summary-project-line .summary-price{font-weight:600;text-align:right;color:#334155;font-size:14.4px}.summary-project-total{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;font-weight:700;color:#0f172a;border-top:1px solid #e5e7eb;padding-top:8px}.summary-project-body{margin-top:0;padding:12px 16px 14px;display:block}.summary-project-body.is-collapsed{display:none}.summary-mobile-table{display:none}.summary-fee-amount{font-weight:800;color:#0b65c2;white-space:nowrap}.summary-grand-total{max-width:820px;margin:0 auto 20px;border:1px solid #d8e6ff;background:linear-gradient(135deg,#e8f3ff,#f8fbff);border-radius:14px;padding:14px 16px;display:flex;justify-content:center;gap:12px;align-items:center;font-weight:800;color:#0f172a;box-shadow:0 12px 28px rgba(0,148,218,.12);grid-column:1/-1;text-align:center}@media(min-width:641px){.summary-mobile-table{display:grid;gap:18px;max-width:1200px;margin:20px auto 32px;grid-template-columns:repeat(auto-fit,minmax(640px,1fr))}#step10-summary .summary-mobile-card{padding:0;border:1px solid #dfe6f2;border-radius:16px;box-shadow:0 16px 36px rgba(0,148,218,.1),0 8px 18px rgba(15,23,42,8%);background:linear-gradient(180deg,#ffffff 0%,#f7f9ff 100%);overflow:hidden}#step10-summary .summary-mobile-header{font-size:1rem;padding:14px 16px;background:linear-gradient(90deg,#eaf5ff,#f7fbff);border-bottom:1px solid #e4eaf2;border-radius:16px 16px 0 0;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px}#step10-summary .summary-mobile-table-body{gap:10px;padding:12px 16px 14px}#step10-summary .summary-mobile-cell{font-size:15px}#step10-summary .summary-mobile-desc{font-size:14px}#step10-summary .summary-mobile-row{grid-template-columns:1.3fr auto;padding:12px 0;border-bottom:1px solid #edf1f7;font-weight:500}#step10-summary .summary-mobile-row .summary-mobile-label{font-weight:700;color:#0f172a}#step10-summary .summary-mobile-row:last-child{border-bottom:none}#step10-summary .summary-mobile-value{min-width:90px}.summary-tv-list,#summary-table-desktop,.summary-desktop-only{display:none}}#step10-summary .summary-mobile-tv-toggle{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:center;gap:6px;padding:0;background:#0b65c2;cursor:default}#step10-summary .summary-mobile-tv-main{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr)auto auto;align-items:center;gap:10px;padding:12px 8px 12px 16px;border:0;background:0 0;color:#fff;cursor:pointer;font:inherit;font-weight:800;text-align:left}#step10-summary .summary-tv-edit-btn{width:34px;height:34px;margin-right:10px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:0 0;color:#fff;cursor:pointer}#step10-summary .summary-tv-edit-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#step10-summary .summary-tv-edit-btn:hover,#step10-summary .summary-tv-edit-btn:focus-visible{background:rgba(255,255,255,.12);outline:none}#step10-summary .summary-mobile-tv-main .summary-mobile-value,#step10-summary .summary-mobile-tv-main .summary-mobile-caret{color:#fff;opacity:1}.summary-grand-total .summary-grand-label{font-size:1.05rem}.summary-grand-total .summary-grand-amount{font-size:1.3rem;color:#0b65c2}.summary-fee-help{position:relative;display:inline-flex;align-items:center;gap:7px}.summary-fee-help-icon{width:18px;height:18px;border-radius:50%;background:#0094da;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;line-height:1}.summary-fee-help-tooltip{display:none;position:absolute;left:0;bottom:calc(100% + 10px);transform:none;width:320px;max-width:min(320px,80vw);background:#111827;color:#fff;padding:10px 12px;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.2);font-size:.82rem;line-height:1.35;text-align:center;z-index:20}.summary-fee-help-tooltip::after{content:"";position:absolute;left:24px;bottom:-6px;transform:none;border-width:6px;border-style:solid;border-color:#111827 transparent transparent transparent}.summary-fee-help:hover .summary-fee-help-tooltip,.summary-fee-help:focus-within .summary-fee-help-tooltip,.summary-fee-help.is-tooltip-open .summary-fee-help-tooltip{display:block}.summary-trust{background:#f5f9ff;border:1px solid #d8e6ff;border-radius:12px;padding:12px 14px;max-width:720px;margin:0 auto 20px}.trust-title{font-weight:700;color:#0f172a;margin-bottom:8px}.trust-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;color:#1f2933;font-weight:600;font-size:.95rem}@media(min-width:641px){.summary-mobile-table{display:grid;gap:18px;max-width:1160px;margin:20px auto 32px;grid-template-columns:repeat(auto-fit,minmax(480px,1fr))}#step10-summary .summary-mobile-card{padding:0;border:1px solid #dfe6f2;border-radius:16px;box-shadow:0 16px 36px rgba(0,148,218,.1),0 8px 18px rgba(15,23,42,8%);background:linear-gradient(180deg,#ffffff 0%,#f7f9ff 100%);overflow:hidden}#step10-summary .summary-mobile-header{font-size:1rem;padding:14px 16px;background:linear-gradient(90deg,#0094da,#0b65c2);border-bottom:1px solid #e4eaf2;border-radius:16px 16px 0 0;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;color:#fff;font-weight:800;letter-spacing:.01em}#step10-summary .summary-mobile-table-body{gap:12px;padding:14px 18px 16px}#step10-summary .summary-mobile-row{grid-template-columns:1.25fr auto;padding:10px 0;border-bottom:1px solid #e8edf5;font-weight:500}#step10-summary .summary-mobile-row:last-child{border-bottom:none}#step10-summary .summary-mobile-value{min-width:90px;font-weight:700;color:#0b65c2}#step10-summary .summary-mobile-label-text{font-weight:700;color:#0f172a}#step10-summary .summary-mobile-desc-text{font-size:14px;color:#475569;line-height:1.35}#step10-summary .summary-mobile-subtotal-row{background:#f5f8ff;border:1px solid #e4eaf2;border-radius:10px;padding:10px 12px;margin:12px 0 0;font-weight:800}#step10-summary .summary-mobile-totals{padding-top:6px}#step10-summary .summary-mobile-tv-block{border:1px solid #dfe6f2;border-radius:14px;overflow:hidden;box-shadow:0 16px 32px rgba(15,23,42,8%);background:#fff}#step10-summary .summary-mobile-tv-toggle{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(90deg,#0094da,#0b65c2);color:#fff;border:none;font-weight:800;font-size:1rem;cursor:pointer;text-align:left;letter-spacing:.01em}#step10-summary .summary-mobile-tv-toggle .summary-mobile-caret{font-size:.9rem;color:#fff;justify-self:end}#step10-summary .summary-mobile-tv-body{background:#fff;padding:12px 16px;border-top:1px solid #e4eaf2}.summary-tv-list,#summary-table-desktop,.summary-desktop-only{display:none}}.tv-fly-chip{position:fixed;width:32px;height:32px;background:#0b65c2;color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.75rem;pointer-events:none;z-index:13000;transform:translate(-50%,-50%)scale(.8);box-shadow:0 10px 20px rgba(0,0,0,.2);opacity:1;--dx:0px;--dy:0px;animation:tvFlyBoomerang .85s cubic-bezier(.22,.68,.27,1)forwards}@keyframes tvFlyBoomerang{0%{transform:translate(-50%,-50%)translate(0,0)scale(.85);opacity:1}60%{transform:translate(-50%,-50%)translate(70px,-40px)scale(.78);opacity:.95}100%{transform:translate(-50%,-50%)translate(var(--dx),var(--dy))scale(.6);opacity:0}}.review-pulse{animation:reviewPulse .65s ease forwards;transform-origin:center}@keyframes reviewPulse{0%{transform:scale(1);box-shadow:0 0 rgba(0,148,218,.35)}50%{transform:scale(1.12);box-shadow:0 0 0 10px rgba(0,148,218,.16)}100%{transform:scale(1);box-shadow:0 0 rgba(0,148,218,0)}}#step8-tvcount .option-group{display:flex;justify-content:center;margin-top:16px}#step8-tvcount .option-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:16px;max-width:520px;width:100%;margin:0 auto;justify-items:center}#step8-tvcount .radio-option{max-width:200px;width:100%;aspect-ratio:1/1}.summary-mobile-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px}.summary-change-btn{min-height:30px;border:1px solid #b8d9f2;border-radius:999px;background:#f2f9ff;color:#0b65c2;cursor:pointer;font-size:.78rem;font-weight:800;padding:5px 10px}.summary-change-btn:hover,.summary-change-btn:focus-visible{background:#e4f3ff;border-color:#0094da;outline:none}.summary-approve-row{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-top:12px;padding:18px 20px;border:2px solid #0094da;border-radius:16px;background:linear-gradient(135deg,#e8f6ff 0%,#ffffff 100%);box-shadow:0 16px 34px rgba(0,148,218,.16)}.summary-approve-title{color:#0f172a;font-size:1.08rem;font-weight:800}.summary-approve-copy{margin-top:3px;color:#526173;font-size:.92rem;line-height:1.4}.summary-approve-btn{min-height:46px;border:none;border-radius:999px;background:#0094da;color:#fff;cursor:pointer;font-size:1rem;font-weight:800;padding:12px 24px;box-shadow:0 12px 24px rgba(0,148,218,.28)}.summary-approve-btn:hover,.summary-approve-btn:focus-visible{background:#0b65c2;outline:none}.appointment-photos{margin:22px 0 20px}.appointment-photos-header{max-width:900px;margin:0 auto 10px;text-align:left}.appointment-photos-header h4{margin:0 0 4px;color:#1f2933;font-size:1rem;font-weight:800}#step10-summary .summary-trust{margin-bottom:14px;padding:10px 13px}#step10-summary .summary-mobile-table{margin-top:12px}#step10-summary .summary-mobile-card{background:#fff}#step10-summary .summary-mobile-tv-toggle{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:center;gap:6px;padding:0;background:#0b65c2;cursor:default}#step10-summary .summary-mobile-tv-main{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr)auto auto;align-items:center;gap:10px;padding:12px 8px 12px 16px;border:0;background:0 0;color:#fff;cursor:pointer;font:inherit;font-weight:800;text-align:left}#step10-summary .summary-tv-edit-btn{width:34px;height:34px;margin-right:10px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:0 0;color:#fff;cursor:pointer}#step10-summary .summary-tv-edit-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#step10-summary .summary-tv-edit-btn:hover,#step10-summary .summary-tv-edit-btn:focus-visible{background:rgba(255,255,255,.12);outline:none}#step10-summary .summary-mobile-tv-main .summary-mobile-value,#step10-summary .summary-mobile-tv-main .summary-mobile-caret{color:#fff;opacity:1}#step10-summary .summary-change-btn{border-color:#d5e7f5;background:#fff;color:#0b65c2;box-shadow:none}#step10-summary .summary-change-btn:hover,#step10-summary .summary-change-btn:focus-visible{background:#eef8ff;border-color:#8fc8ee}#step10-summary .summary-approve-row{margin-top:14px;border-color:#0094da;background:linear-gradient(135deg,#f2faff 0%,#ffffff 100%)}#step10-summary .summary-approve-btn{background:#0094da}#step10-summary .summary-approve-btn:hover,#step10-summary .summary-approve-btn:focus-visible{background:#0b65c2}#step10-summary .step-footer{margin-top:18px}.appointment-photos-header p{margin:0;color:#5b6675;font-size:.92rem;line-height:1.45}.fireplace-electrical-warning{display:none;max-width:720px;margin:0 auto 16px;padding:12px 14px;border:1px solid #fca5a5;border-radius:10px;background:#fef2f2;color:#991b1b;font-size:.92rem;font-weight:700;line-height:1.45;text-align:center}.fireplace-electrical-warning.is-visible{display:block}.upload-wrapper{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:24px;align-items:start;margin:32px auto 20px;max-width:900px}.upload-dropzone{position:relative;border:2px dashed #cdd7e3;border-radius:12px;padding:18px 16px;text-align:center;background:#f8fafc;cursor:pointer;transition:border-color .2s ease,background .2s ease}.upload-dropzone.drag-over{border-color:#0094da;background:#eef7ff}.upload-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone-icon{width:72px;height:72px;margin:0 auto 10px;background:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/icon-upload-camera.webp)50%/contain no-repeat;font-size:0}.dropzone-text{font-weight:700;color:#1f2933;margin-bottom:6px}.dropzone-note{font-size:.9rem;color:#556}.photo-upload-status{margin:12px auto 0;width:fit-content;max-width:100%;border:1px solid #d8e2ef;border-radius:999px;background:#fff;color:#596579;font-size:.86rem;font-weight:700;line-height:1.3;padding:7px 12px}.photo-upload-status.has-photos{border-color:#a7e3c4;background:#ecfdf5;color:#047857}.upload-checklist{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.checklist-title{font-weight:700;margin-bottom:8px}.upload-checklist ul{margin:0 0 12px 18px;color:#4b5563;font-size:.95rem;padding-left:12px}.upload-thumbs{max-width:900px;margin:0 auto 24px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.upload-thumbs.has-photos{margin-top:12px;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.thumb{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column;width:170px}.thumb-img{width:100%;aspect-ratio:1/1;background-size:cover;background-position:50%}.thumb-meta{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;gap:6px}.thumb-name{font-size:.85rem;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-remove{border:none;background:#fef2f2;color:#b91c1c;border-radius:4px;cursor:pointer;padding:2px 6px;font-size:.8rem}.thumb-remove:hover{background:#fee2e2}.thumb-empty{grid-column:1/-1;text-align:center;color:#6b7280;padding:10px 0}.notes-block{max-width:900px;margin:0 auto 24px;display:flex;flex-direction:column;gap:6px}.notes-block label{font-weight:600;color:#1f2933}.notes-block textarea{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:10px;font-size:.95rem;resize:vertical;min-height:80px}.notes-block textarea:focus{outline:none;border-color:#0094da;box-shadow:0 0 0 3px rgba(0,148,218,.15)}.upload-thumbs .thumb-empty{display:block}.dev-nav{position:fixed;right:16px;bottom:16px;z-index:11000;font-family:open sans,Arial,sans-serif}.dev-nav-toggle{background:#111827;color:#fff;border:none;padding:10px 14px;border-radius:999px;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.2);font-weight:700}.dev-nav-panel{display:none;position:absolute;right:0;bottom:calc(100% + 8px);background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.16);padding:12px;min-width:220px;max-height:min(70vh,520px);overflow:auto}.dev-nav.is-open .dev-nav-panel{display:block}.dev-nav:hover .dev-nav-panel,.dev-nav:focus-within .dev-nav-panel{display:block}.dev-nav-title{font-weight:700;color:#111827;margin-bottom:8px}.dev-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(80px,1fr));gap:8px}.dev-nav-btn{border:1px solid #d1d5db;background:#f9fafb;border-radius:8px;padding:8px 10px;cursor:pointer;font-weight:600}.dev-nav-btn:hover{background:#eef2ff;border-color:#c7d2fe}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:10000;padding:16px}.modal-overlay.open{display:flex}.modal-card{max-height:90vh;overflow:auto}@media(max-width:640px){.modal-card{width:100%;max-width:420px}}.modal-card{background:#fff;border-radius:12px;padding:18px;max-width:900px;width:min(900px,100%);box-shadow:0 12px 32px rgba(0,0,0,.2);font-family:open sans,Arial,sans-serif}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-header h3{font-size:1.1rem;font-weight:700;color:#1f2933}.modal-close{border:none;background:0 0;font-size:1.4rem;cursor:pointer}.modal-note,.modal-disclaimer{color:#4b5563;font-size:.95rem;margin:6px 0 10px}.project-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:flex-start;justify-content:center;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .25s ease,transform .25s ease;z-index:9999;padding:20px 12px}.project-overlay.open{opacity:1;pointer-events:auto;transform:translateY(0)}.project-panel{position:relative;margin-top:20px;background:#fff;border-radius:14px;border:1px solid #e6e6e6;padding:24px 22px;width:min(460px,94%);max-height:70vh;overflow-y:auto;box-shadow:0 16px 46px rgba(0,0,0,.15);transform:translateY(-16px);opacity:0;transition:transform .28s ease,opacity .28s ease;font-size:.9rem}.project-overlay.open .project-panel{transform:translateY(0);opacity:1}.project-panel h3{font-size:1.15rem;font-weight:700;margin:0 0 14px;color:#333}.project-close{position:absolute;top:14px;right:16px;background:0 0;border:none;font-size:1.4rem;line-height:1;font-weight:300;color:#555;cursor:pointer;padding:4px;transition:all .2s ease}.project-close:hover{color:#000;transform:scale(1.15);opacity:.85}.review-empty{padding:14px 10px;text-align:center;color:#555;font-weight:600;background:#f8fafc;border:1px dashed #d7dde5;border-radius:8px}.review-accordion{display:flex;flex-direction:column;gap:14px}.review-row{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-bottom:1px solid #eceff3;gap:12px}.review-row-actions{display:inline-flex;align-items:center;gap:8px}.review-change-btn{border:1px solid #d1d5db;background:#fff;color:#1d4ed8;border-radius:8px;padding:6px 10px;font-weight:700;font-size:.85rem;cursor:pointer}.review-change-btn:hover{background:#eef2ff;border-color:#c7d2fe}.review-left{display:flex;flex-direction:column;gap:2px}.review-label{font-weight:600;color:#1f2933}.review-desc{font-size:.9rem;color:#4b5563}.review-price{font-weight:700;color:#111827}.price-strike{color:#b91c1c;text-decoration:line-through;margin-right:6px;font-weight:700}.price-discount{color:#058b5e;font-weight:800}.review-subnote{font-size:.9rem;color:#4b5563;margin-top:4px}.review-price--included{color:#058b5e;font-weight:600}.review-total{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;font-weight:700}.review-accordion{display:flex;flex-direction:column;gap:12px}.review-tv-card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,5%)}.review-tv-header{width:100%;border:none;background:#0f172a;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700;color:#fff;gap:10px;border-radius:12px}.review-tv-header .review-tv-meta{display:flex;align-items:center;gap:8px;font-weight:700}.review-tv-header .review-toggle{font-size:.85rem;color:#fff}.review-tv-header .review-tv-meta,.review-tv-header .review-toggle{color:inherit}.review-tv-body{max-height:0;transition:max-height .22s ease;overflow:hidden;padding:0 12px}.review-tv-body.is-open{max-height:1200px;padding:10px 12px 14px}.review-total--inner{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:10px}.review-tv-subtotal{color:#fff}.appointment-request-form{width:min(1200px,calc(100% - 32px));margin:0 auto 110px;padding:18px 20px 20px;border:1px solid #dfe6f2;border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,8%)}.appointment-form-header{margin-bottom:14px}.appointment-form-header h3{margin:0 0 4px;font-size:1.1rem;color:#0f172a}.appointment-form-header p{margin:0;color:#475569;font-size:.95rem}.appointment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.appointment-request-form label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#0f172a;font-weight:700;font-size:.9rem}.appointment-request-form label[hidden]{display:none!important}.appointment-request-form label small{color:#64748b;font:inherit;font-weight:600}.appointment-request-form input,.appointment-request-form select,.appointment-request-form textarea{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;color:#0f172a;background:#fff;font:inherit;font-weight:500}.appointment-request-form textarea{min-height:88px;resize:vertical}.appointment-request-form input:focus,.appointment-request-form select:focus,.appointment-request-form textarea:focus{outline:2px solid rgba(0,148,218,.25);border-color:#0094da}.appointment-notes-field{margin-top:14px}.appointment-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.appointment-submit-status{min-height:24px;margin-top:14px;font-weight:700;color:#475569}.appointment-submit-status.is-loading{color:#0b65c2}.appointment-submit-status.is-success{color:#047857}.appointment-submit-status.is-error{color:#b91c1c}.appointment-request-form.is-submitted input,.appointment-request-form.is-submitted select,.appointment-request-form.is-submitted textarea{background:#f8fafc}@media(min-width:641px){#step10-summary .summary-mobile-table{display:block;max-width:900px;margin:12px auto 20px}#step10-summary .summary-mobile-card{padding:14px}#step10-summary .summary-mobile-header{font-size:1rem}#step10-summary .summary-mobile-table-body{gap:10px}#step10-summary .summary-mobile-cell{font-size:15px}#step10-summary .summary-mobile-desc{font-size:14px}.summary-tv-list,#summary-table-desktop,.summary-desktop-only{display:none}}@media(min-width:641px){#step10-summary .summary-mobile-table{display:block;width:100%;max-width:1200px;margin:18px auto 32px}#step10-summary .summary-mobile-card{width:100%;margin:0 auto 18px;padding:0;border:1px solid #cfe0ee;border-radius:18px;box-shadow:0 18px 42px rgba(15,23,42,.1);background:#fff;overflow:hidden}#step10-summary .summary-mobile-table-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:16px;padding:18px 20px 20px}#step10-summary .summary-mobile-tv-block{border:1px solid #d7e2ee;border-radius:12px;overflow:hidden;box-shadow:0 8px 18px rgba(15,23,42,5%);background:#fff}#step10-summary .summary-mobile-tv-toggle{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:14px 18px;background:#0b65c2;color:#fff;font-weight:800;font-size:1rem;cursor:pointer;text-align:left;letter-spacing:.01em}#step10-summary .summary-mobile-tv-toggle .summary-mobile-caret{font-size:.95rem;color:#fff;justify-self:end}#step10-summary .summary-mobile-tv-body{background:#fff;padding:12px 18px 14px;border-top:1px solid #e4eaf2}#step10-summary .summary-mobile-row{display:grid;grid-template-columns:1fr auto;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #edf2f7;font-weight:500}#step10-summary .summary-mobile-row:last-child{border-bottom:none}#step10-summary .summary-mobile-left{display:flex;flex-direction:column;gap:2px}#step10-summary .summary-mobile-label-text{font-weight:700;color:#0f172a}#step10-summary .summary-mobile-desc-text{color:#4b5563;font-weight:500;font-size:.95rem}#step10-summary .summary-mobile-value{min-width:110px;text-align:right;font-weight:800;color:#075ca8;align-self:center}#step10-summary .summary-mobile-subtotal-row{background:#f4f9ff;border-radius:12px;padding:12px 14px;margin-top:6px}#step10-summary .summary-mobile-totals{grid-column:1/-1;padding-top:6px}#step10-summary .summary-mobile-row-total{font-size:1.1rem;font-weight:800}.summary-tv-list,#summary-table-desktop,.summary-desktop-only{display:none}}
@media(max-width:640px){body{background:#fff;margin:0;padding:0}.tv-step{display:none;flex-direction:column;background:#fff;width:100%;max-width:none;margin:0;padding:0 16px;border-radius:0;box-shadow:none;min-height:calc(100vh - 48px);overflow:hidden;position:relative}.tv-step.active{display:flex;flex-direction:column}.dev-nav{display:block!important;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}.step-header{margin:0;padding:0 14px;width:calc(100% + 36px);margin-left:-18px;margin-right:0;position:sticky;top:0;left:0;right:0;transform:none;z-index:50;background:#000;border:none;border-radius:0;grid-template-columns:auto 1fr auto;grid-template-rows:auto;height:65px;min-height:65px;gap:5px;align-items:center;justify-items:center;overflow:hidden;box-shadow:none}.step-header h2,.step-header p{display:none}.mobile-step-copy{display:block;text-align:center;padding:10px 12px 12px;margin:0 0 12px;border-bottom:1px solid #eef1f5}.mobile-step-copy h2{font-size:20px!important;font-weight:700!important;line-height:1.3;margin:15px 0 19px}.mobile-step-copy p{font-size:15px;line-height:1.35;color:#4b5563;margin:0}.mobile-step-copy .step-helper-text{display:block;margin-top:8px;font-size:13px;line-height:1.35;color:#64748b}.step-footer{position:relative;background:#000;align-items:center;display:flex;flex-direction:column;margin-top:auto;padding:0 0 calc(24px + env(safe-area-inset-bottom,0));width:100vw;margin-left:calc((100vw - 100%)/-2)}.step-nav{position:sticky;bottom:0;left:0;right:0;width:100%;margin:0;padding:10px 16px;transform:none;background:#000;border-radius:0;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;z-index:80;height:76px;min-height:72px}.btn-prev-step,.btn-next-step,.btn-request-appointment,.btn-submit-estimate{flex:1;min-width:0;border-radius:14px;font-weight:700;padding:12px 10px;text-decoration:none;height:100%;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}.btn-prev-step{background:#05070a;border:1px solid #334155;color:#e2e8f0;box-shadow:none}.btn-next-step,.btn-request-appointment,.btn-submit-estimate{background:#0094da;border:1px solid #38bdf8;color:#fff;box-shadow:0 10px 20px rgba(0,148,218,.28)}.btn-next-step.is-disabled,.btn-next-step:disabled{background:#1f2937;border-color:#374151;color:#94a3b8;box-shadow:none;opacity:1}.step-header::before{width:100%;max-width:none;height:65px;font-size:.85rem;border-radius:0;justify-self:center;align-self:center;margin:0 auto;transform:none;background-color:initial;background-image:url(https://app.artesoft.us/wp-content/plugins/tv-mounting-estimator-plugin/assets/images/webapp-logo.webp);background-size:contain;background-repeat:no-repeat;background-position:50%;pointer-events:none;box-shadow:0 4px 10px rgba(0,0,0,8%)}.step-header::after{content:"";position:absolute;inset:auto;display:none}.btn-view-project{grid-column:3;grid-row:1/3;width:32px;min-width:32px;height:32px;padding:0;font-size:0;font-weight:700;text-indent:-9999px;overflow:hidden;border:2px solid #fff;background:#0094da;color:#fff;box-shadow:0 8px 16px rgba(0,148,218,.25);position:fixed;top:16px;right:calc(26px + env(safe-area-inset-right,0px));transform:none;display:inline-flex;align-items:center;justify-content:center;justify-self:end;align-self:center;margin:0;z-index:90}.step-header .current-tv-context{grid-column:1/-1;grid-row:2;justify-self:center;margin-top:12px;margin-bottom:8px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;background:#eef2ff!important;border:1px solid #e4eaf2!important;box-shadow:none!important;color:#1d4ed8!important;font-weight:700!important;font-size:.85rem!important;min-width:100px;justify-content:center}.mobile-step-copy .current-tv-context,.current-tv-context.current-tv-context--mobile{display:block;width:100%;text-align:center;margin:10px 0 6px;justify-content:center}.btn-view-project::before{content:"";width:23px;height:23px;display:inline-block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 8h20a5 5 0 0 1 5 5v25a5 5 0 0 1-5 5H14a5 5 0 0 1-5-5V13a5 5 0 0 1 5-5z'/%3E%3Crect x='17' y='4' width='14' height='8' rx='2'/%3E%3Cpath d='M17 19h14M17 27h14M17 35h10'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:contain}.step-header .current-tv-context::before{content:""}.location-grid{margin-top:28px;gap:16px}#step11-booking .upload-wrapper{display:flex;flex-direction:column;gap:16px;align-items:center;max-width:520px;margin:16px auto 20px}#step11-booking .upload-dropzone,#step11-booking .upload-checklist{width:100%;max-width:360px;text-align:center}#step11-booking .dropzone-text{font-size:.95rem}#step11-booking .dropzone-note{font-size:.85rem}#step11-booking .checklist-title{font-size:1rem;text-align:center}#step11-booking .upload-checklist ul{font-size:.9rem;margin:6px auto 10px;padding-left:18px;text-align:left}#step11-booking .upload-thumbs{justify-content:center}.size-grid,.location-grid,.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch;max-width:480px;width:100%;margin:12px auto 0;gap:14px}#step8-tvcount .option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-option{padding:14px 10px;width:100%}.option-label,.location-label{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.option-name,.location-name,.size-label-main{margin:0;font-weight:700;font-size:14px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%}.option-price,.location-price,.size-label-sub{margin:0;font-size:14px;line-height:1.3;color:#00a651;font-style:italic}.option-price::before,.location-price::before,.size-label-sub::before{content:""}.price-strike{color:#b91c1c;text-decoration:line-through;margin-right:6px;font-weight:700}.price-discount{color:#058b5e;font-weight:800}.location-option,.size-option,.radio-option,.checkbox-option{border:1px solid transparent;box-shadow:none;max-width:none;width:100%;padding:12px 10px}.mobile-info-button{position:absolute;top:8px;right:8px;width:18px;height:18px;border:none;border-radius:50%;background:#0094da;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;line-height:1;padding:0;box-shadow:0 4px 10px rgba(0,148,218,.16);z-index:7}.option-tooltip{top:34px;left:50%;right:auto;transform:translateX(-50%);width:min(190px,calc(100vw - 48px));max-width:190px;white-space:normal;text-align:center;line-height:1.3;z-index:8}.location-option:hover .option-tooltip,.radio-option:hover .option-tooltip,.checkbox-option:hover .option-tooltip,.location-option:focus-visible .option-tooltip,.radio-option:focus-visible .option-tooltip,.checkbox-option:focus-visible .option-tooltip{display:none}.location-option.is-tooltip-open .option-tooltip,.radio-option.is-tooltip-open .option-tooltip,.checkbox-option.is-tooltip-open .option-tooltip{display:block}.location-option.is-tooltip-open .option-tooltip::after,.radio-option.is-tooltip-open .option-tooltip::after,.checkbox-option.is-tooltip-open .option-tooltip::after{top:-6px;bottom:auto;border-color:transparent transparent #111827 transparent}.location-icon,.option-icon{border-color:transparent}.icon-tv-regular,.icon-tv-fireplace,.icon-tv-outdoor,.icon-tv-ceiling,.icon-mount,.icon-generic{width:62px;height:62px}#step3-size .icon-tv-regular{width:69px;height:69px}#step1-location .icon-tv-regular,#step1-location .icon-tv-fireplace,#step1-location .icon-tv-outdoor,#step1-location .icon-tv-ceiling{width:69px;height:69px}#step2-wall .icon-generic{width:69px;height:69px}#step4-mount .icon-mount{width:70px;height:70px}#step5-cord .icon-generic{width:70px;height:70px}#step6-outlet .icon-generic{width:70px;height:70px}#step7-addons .icon-generic{width:70px;height:70px}#step9-cables .icon-generic{width:70px;height:70px}#soundbar-bracket-modal .icon-generic,#outlet-plan-modal .icon-generic{width:70px;height:70px}.step-total{margin-top:24px;font-size:15px;font-weight:700;border:2px solid #fff}.btn-next-step,.btn-prev-step,.btn-request-appointment,.btn-submit-estimate{width:auto;max-width:none;padding:14px 16px;border-radius:14px;box-shadow:0 8px 16px rgba(0,148,218,.25);flex:1;height:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box}#step10-summary .step-nav{gap:8px;padding:10px 12px}#step11-booking .btn-prev-step,#step11-booking .btn-request-appointment{flex:1;width:50%;min-width:0!important;max-width:none;min-height:0;margin:0;padding:10px 8px!important;font-size:14px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}#step10-summary .summary-tv-list,#step10-summary .summary-fee-row,#step10-summary .summary-grand-total{display:none}#summary-table-desktop{display:none}#step10-summary .summary-project-row{display:none}#step10-summary .summary-mobile-table{display:block;width:100%;max-width:760px;margin:8px auto 16px}#step10-summary .summary-mobile-card{background:#fff;border:1px solid #e6e8ef;border-radius:16px;box-shadow:0 10px 22px rgba(0,0,0,8%);padding:12px;margin-bottom:12px}#step10-summary .summary-mobile-header{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:10px;color:#0f172a}#step10-summary .summary-mobile-title{font-size:15px}#step10-summary .summary-mobile-subtotal{font-size:14px;color:#0b65c2}#step10-summary .summary-mobile-table-body{display:grid;grid-template-columns:1fr;gap:8px;margin-top:4px}#step10-summary .summary-mobile-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:flex-start;padding:4px 0}#step10-summary .summary-mobile-cell{font-size:14px;color:#0f172a;text-align:left;line-height:1.35}#step10-summary .summary-fee-help{gap:6px;cursor:pointer}#step10-summary .summary-fee-help-tooltip{width:min(240px,calc(100vw - 56px));max-width:min(240px,calc(100vw - 56px));bottom:calc(100% + 8px);font-size:.78rem}#step10-summary .summary-mobile-desc{color:#475569;font-size:13px;line-height:1.35}#step10-summary .summary-mobile-value{font-weight:700;text-align:right;justify-self:end;font-variant-numeric:tabular-nums}#step10-summary .summary-mobile-actions{align-items:flex-end;flex-direction:column;gap:6px}#step10-summary .summary-change-btn{min-height:28px;padding:4px 9px;font-size:12px}#step10-summary .summary-mobile-totals .summary-mobile-row{grid-template-columns:1fr auto;align-items:center}#step10-summary .summary-mobile-divider{height:1px;background:#e5e7eb;margin:10px 0}#step10-summary .summary-mobile-row-total .summary-mobile-value{color:#0b65c2;font-size:16px}#step10-summary .summary-approve-row{grid-template-columns:1fr;gap:12px;padding:15px 14px;text-align:center}#step10-summary .summary-approve-btn{width:100%}#step10-summary .summary-mobile-tv-block{border:1px solid #e6e8ef;border-radius:12px;overflow:hidden}#step10-summary .summary-mobile-tv-toggle{width:100%;background:#0094da;color:#fff;border:none;padding:10px 12px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;font-weight:700;font-size:15px;cursor:pointer;text-align:left}#step10-summary .summary-mobile-tv-toggle .summary-mobile-caret{justify-self:end;font-size:13px}#step10-summary .summary-mobile-tv-body{padding:10px 12px 8px;background:#fff}#step10-summary .summary-mobile-subtotal-row{border-top:1px solid #e5e7eb;padding:6px 8px 4px;margin:4px 4px 0;font-weight:700;background:#f8fafc;border-radius:8px}#step10-summary .summary-mobile-left{display:flex;flex-direction:column;gap:2px}#step10-summary .summary-mobile-label-text{font-weight:600}#step10-summary .summary-mobile-desc-text{font-size:13px;color:#475569;line-height:1.35}#step10-summary .summary-trust{background:#f8fafc;border:1px solid #e6e8ef;border-radius:14px;padding:10px 12px;margin:8px auto 12px}#step11-booking .appointment-request-form{width:calc(100% - 20px);margin:8px auto 118px;padding:14px 12px 16px;border-radius:12px}#step11-booking .appointment-form-header h3{font-size:16px}#step11-booking .appointment-form-header p{font-size:13px;line-height:1.35}#step11-booking .appointment-form-grid{grid-template-columns:1fr;gap:10px}#step11-booking .appointment-request-form label{font-size:13px}#step11-booking .appointment-request-form input,#step11-booking .appointment-request-form select,#step11-booking .appointment-request-form textarea{min-height:42px;border-radius:9px;font-size:14px}#step11-booking .appointment-submit-status{font-size:13px;line-height:1.35}}@media(max-width:640px){#step10-summary .summary-mobile-table{margin-top:6px}#step10-summary .summary-mobile-card{box-shadow:0 8px 18px rgba(15,23,42,8%)}#step10-summary .summary-mobile-tv-toggle{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:6px;padding:0;background:#0b65c2;cursor:default}#step10-summary .summary-mobile-tv-main{min-height:44px;display:grid;grid-template-columns:minmax(0,1fr)auto auto;align-items:center;gap:8px;padding:10px 6px 10px 12px;border:0;background:0 0;color:#fff;cursor:pointer;font:inherit;font-weight:700;text-align:left}#step10-summary .summary-tv-edit-btn{width:32px;height:32px;margin-right:8px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:0 0;color:#fff;cursor:pointer}#step10-summary .summary-tv-edit-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#step10-summary .summary-mobile-tv-main .summary-mobile-value,#step10-summary .summary-mobile-tv-main .summary-mobile-caret{color:#fff;opacity:1}#step10-summary .summary-change-btn{background:#fff;border-color:#d5e7f5}#step10-summary .summary-approve-row{margin-top:10px}#step10-summary .step-footer{margin-top:12px}}@media(max-width:380px){#step10-summary .step-nav{gap:6px;padding-inline:10px}#step11-booking .btn-prev-step,#step11-booking .btn-request-appointment{padding-inline:6px!important;font-size:13px}}