/* Knockety "See it on your house" — brand: navy #19455C, orange #FD9946, Futura headings, Proxima Nova body */
.kt-launch{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;box-sizing:border-box;margin:.9rem 0 .25rem;padding:1rem 1.25rem;border:2px solid #19455C;border-radius:4px;background:#19455C;color:#fff;font:700 1.05rem/1 "Proxima Nova",Arial,sans-serif;cursor:pointer}
.kt-launch:hover{background:#0f3345;border-color:#0f3345;color:#fff}
.kt-launch:focus-visible{background:#19455C;color:#fff;outline:3px solid #19455C;outline-offset:3px;box-shadow:0 0 0 3px #fff}
.kt-lock{overflow:hidden}
.kt-overlay[hidden]{display:none}
.kt-overlay{position:fixed;left:0;right:0;top:0;height:100vh;height:100dvh;z-index:2147483647;background:rgba(25,69,92,.72);display:flex;align-items:center;justify-content:center;padding:8px;box-sizing:border-box}
.kt-dialog{position:relative;background:#fff;color:#1c1c1c;width:100%;max-width:640px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;border-radius:8px;padding:0 20px calc(24px + env(safe-area-inset-bottom,0px));font-family:"Proxima Nova",Arial,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.kt-head{position:sticky;top:0;z-index:5;background:#fff;margin:0 -20px 8px;padding:16px 60px 10px 20px;border-bottom:1px solid #e6e6e6;border-radius:8px 8px 0 0}
.kt-head .kt-title{margin:0}
.kt-close{position:absolute;top:6px;right:8px;width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;color:#19455C;cursor:pointer;border-radius:4px}
.kt-close:focus-visible,.kt-primary:focus-visible,.kt-secondary:focus-visible,.kt-link:focus-visible,.kt-drop:focus-visible,.kt-slider:focus-visible,.kt-email input:focus-visible,.kt-error:focus-visible{outline:3px solid #19455C;outline-offset:2px;box-shadow:0 0 0 2px #fff}
.kt-title{margin:0 40px 6px 0;font:700 1.4rem/1.2 Futura,"Proxima Nova",Arial,sans-serif;color:#19455C}
.kt-summary{margin:0 0 12px;color:#444}
.kt-tips{margin:0 0 16px;padding-left:18px;color:#333;font-size:.95rem}
.kt-tips li{margin:2px 0}
.kt-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.kt-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:140px;border:2px dashed #19455C;border-radius:8px;background:#F4F7F9;color:#19455C;cursor:pointer;text-align:center;padding:16px}
.kt-drop strong{font-size:1.05rem}
.kt-drop span{color:#555;font-size:.9rem}
.kt-drop.is-over{background:#FFF1E3;border-color:#FD9946}
.kt-secondary{display:inline-block;margin:12px 8px 0 0;padding:.7rem 1rem;border:2px solid #19455C;border-radius:4px;background:#fff;color:#19455C;font-weight:700;text-decoration:none;cursor:pointer}
.kt-primary{padding:.75rem 1.2rem;border:0;border-radius:4px;background:#FD9946;color:#1c1c1c;font-weight:700;cursor:pointer}
.kt-primary[disabled]{opacity:.6;cursor:default}
.kt-link{margin-top:12px;border:0;background:none;color:#19455C;text-decoration:underline;cursor:pointer;font-size:.95rem}
.kt-note{color:#555;font-size:.9rem;margin:10px 0 0}
.kt-error{margin:12px 0 0;padding:10px 12px;border-left:4px solid #B3261E;background:#FCEDEC;color:#5F1E19}
.kt-step{font-weight:700;color:#19455C;margin:8px 0}
.kt-progress{height:8px;background:#E6ECF0;border-radius:4px;overflow:hidden}
.kt-progress span{display:block;height:100%;width:40%;background:#FD9946;animation:kt-slide 1.4s ease-in-out infinite}
@keyframes kt-slide{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
@media (prefers-reduced-motion:reduce){.kt-progress span{animation:none;width:100%}}
.kt-compare{position:relative;width:100%;max-width:100%;margin:0 auto;overflow:hidden;border-radius:6px;background:#E6ECF0}
.kt-compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kt-after-clip{position:absolute;top:0;left:0;height:100%;overflow:hidden;border-right:2px solid #FD9946}
.kt-after-clip img{max-width:none;object-fit:contain}
.kt-compare .kt-before{position:absolute;left:0;top:0;height:100%}
.kt-tag{position:absolute;top:10px;padding:4px 8px;border-radius:3px;background:rgba(25,69,92,.85);color:#fff;font-size:.8rem;font-weight:700}
.kt-tag-l{left:10px}.kt-tag-r{right:10px}
.kt-slider{display:block;width:100%;max-width:100%;margin:10px auto 0;accent-color:#FD9946}
.kt-disclaimer{margin:12px 0 0;padding:10px 12px;background:#F4F7F9;border-left:4px solid #19455C;color:#333;font-size:.9rem}
.kt-actions{margin-top:16px}
.kt-email{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.kt-email label{grid-column:1/-1;font-weight:700;color:#19455C}
.kt-email input{padding:.7rem;border:2px solid #19455C;border-radius:4px;font-size:1rem;min-width:0}
.kt-email .kt-note{grid-column:1/-1}
@media (max-width:480px){.kt-email{grid-template-columns:1fr}.kt-dialog{padding:0 16px calc(20px + env(safe-area-inset-bottom,0px))}.kt-head{margin:0 -16px 8px;padding:14px 56px 8px 16px}.kt-head .kt-title{font-size:1.15rem}}

.kt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* v2 additions */
.kt-warn{border-left:4px solid #FD9946;background:#FFF1E3;padding:8px 12px;color:#333}
.kt-reuse{display:flex;gap:14px;align-items:flex-start;margin:8px 0 12px}
.kt-thumb{width:120px;height:160px;object-fit:cover;border-radius:6px;border:1px solid #E6ECF0;flex:0 0 auto}
.kt-reuse-txt{display:flex;flex-direction:column;gap:6px;color:#333}
.kt-reuse-txt strong{color:#19455C;font-size:1.05rem}
.kt-reuse-txt .kt-primary{align-self:flex-start;margin-top:4px}
.kt-reuse-txt .kt-link{align-self:flex-start;margin-top:2px}
.kt-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:8px}
.kt-row .kt-secondary,.kt-row .kt-link{margin:0}
.kt-compare-wrap{margin-bottom:10px}
.kt-toggles{display:flex;gap:6px;margin:6px auto 0;max-width:100%}
.kt-chip{padding:.4rem .8rem;border:2px solid #19455C;border-radius:999px;background:#fff;color:#19455C;font-weight:700;font-size:.85rem;cursor:pointer}
.kt-chip:hover,.kt-chip:focus-visible{background:#19455C;color:#fff}
.kt-tray-label{margin:12px 0 6px;font-weight:700;color:#19455C}
.kt-tray{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.kt-tray-item{flex:0 0 auto;width:110px;border:2px solid #E6ECF0;border-radius:6px;background:#fff;padding:4px;cursor:pointer;text-align:left;font-size:.75rem;color:#333;line-height:1.2}
.kt-tray-item img{display:block;width:100%;height:120px;object-fit:cover;border-radius:4px;margin-bottom:4px}
.kt-tray-item.is-current{border-color:#19455C;box-shadow:inset 0 0 0 2px #19455C}
.kt-tray-item:focus-visible,.kt-chip:focus-visible{outline:3px solid #19455C;outline-offset:2px;box-shadow:0 0 0 2px #fff}
.kt-wide{width:100%;font-size:1.05rem;padding:.9rem 1rem}
.kt-consent-row{grid-column:1/-1;display:flex;gap:8px;align-items:center;margin-top:4px}
.kt-consent{font-weight:400;color:#333;font-size:.9rem}
.kt-email input[type=checkbox]{width:18px;height:18px;margin:0;padding:0;border:2px solid #19455C}
.kt-email input[type=checkbox]:focus-visible{outline:3px solid #19455C;outline-offset:2px}
@media (max-width:480px){.kt-reuse{flex-direction:column}.kt-thumb{width:100%;height:auto;max-height:220px}}

/* top-of-page placement */
.kt-hero{display:flex;align-items:center;gap:14px;margin:14px 0 16px;padding:14px 16px;background:#19455C;border-radius:8px;color:#fff;font-family:"Proxima Nova",Arial,sans-serif}
.kt-hero-icon{flex:0 0 auto;color:#FD9946;display:flex}
.kt-hero-txt{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}
.kt-hero-txt strong{font:700 1.1rem/1.2 Futura,"Proxima Nova",Arial,sans-serif;color:#fff}
.kt-hero-txt span{font-size:.9rem;color:#DCE6EC}
.kt-hero-btn{flex:0 0 auto;padding:.8rem 1.1rem;border:0;border-radius:4px;background:#FD9946;color:#1c1c1c;font:700 .95rem/1 "Proxima Nova",Arial,sans-serif;cursor:pointer;white-space:nowrap}
.kt-hero-btn:hover{background:#e8842f}
.kt-hero-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (max-width:640px){.kt-hero{flex-wrap:wrap;padding:14px}.kt-hero-txt{flex-basis:calc(100% - 42px)}.kt-hero-btn{flex-basis:100%;width:100%;padding:1rem;font-size:1.05rem}}

/* finish picker inside the tool (2026-09-29) */
.kt-step{margin:0 0 .6rem;font:700 1.05rem/1.3 "Proxima Nova",Arial,sans-serif;color:#19455C}
.kt-finishes{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin:0 0 .8rem;max-height:52vh;overflow:auto;padding:2px}
.kt-finish{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;border:2px solid #d9d9d9;border-radius:6px;background:#fff;cursor:pointer;font:600 .82rem/1.2 "Proxima Nova",Arial,sans-serif;color:#1c1c1c;text-align:center}
.kt-finish:hover,.kt-finish:focus-visible{border-color:#19455C;outline:0;box-shadow:0 0 0 2px #19455C inset}
.kt-finish-chip{display:block;width:64px;height:64px;border-radius:4px;border:1px solid #c8c8c8;background-size:cover;background-position:center;background-color:#f3f3f3}
.kt-finish-name{display:block}
.kt-change-finish{margin-left:.4rem;font-size:.9rem}
@media (max-width:480px){.kt-finishes{grid-template-columns:repeat(3,1fr)}.kt-finish-chip{width:56px;height:56px}}

/* another finish from the result screen (2026-09-29) */
.kt-step-sm{margin:1rem 0 .45rem;font-size:.98rem}
.kt-finish-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 0 .4rem;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.kt-finish-sm{flex:0 0 84px;scroll-snap-align:start;padding:6px 4px;font-size:.74rem;position:relative}
.kt-finish-sm .kt-finish-chip{width:52px;height:52px}
.kt-finish.is-current{border-color:#19455C;box-shadow:0 0 0 2px #19455C inset;background:#F4F7F9;cursor:default}
.kt-finish.is-current:after{content:"\2713";position:absolute;top:3px;right:5px;width:18px;height:18px;border-radius:50%;background:#19455C;color:#fff;font:700 12px/18px Arial,sans-serif;text-align:center}
.kt-finish:focus-visible{outline:3px solid #19455C;outline-offset:3px}
.kt-finish.is-saved:after{content:"\2713";position:absolute;top:3px;right:5px;width:18px;height:18px;border-radius:50%;background:#19455C;color:#fff;font:700 12px/18px Arial,sans-serif;text-align:center}

/* while the tool is open nothing else may sit on top of it: the Google rating badge and the chat bubble both float above
   everything and covered the tool's lower buttons on a phone (2026-09-29) */
body.kt-lock [id^="___ratingbadge"],body.kt-lock #chat-widget-container{display:none!important}
.kt-secondary.kt-wide{display:block;width:100%;box-sizing:border-box;text-align:center;padding:.9rem 1rem;font-size:1rem}

.kt-newphoto{margin-top:10px}

/* after sending: say so (Riley 2026-09-29: the button only went grey) */
.kt-primary.is-sent,.kt-primary.is-sent:disabled{background:#1f7a4a;color:#fff;opacity:1;cursor:default}
.kt-note.kt-sent{color:#1f7a4a;font-weight:700}

p.kt-consent{margin:0;font-size:.82rem;line-height:1.35;color:#555}

/* iPhones zoom the whole page in when a text field's type is smaller than 16px, and leave it zoomed afterwards: the page
   then looks cut off on the right (Riley's phone, 2026-09-29, after typing his email). 16px exactly, never rem: the theme's
   root size is 14px. */
.kt-dialog input,.kt-dialog select,.kt-dialog textarea,.kt-email input{font-size:16px!important}
