.fsh{--fsh-accent:#c76b32;--fsh-ink:#30241f;--fsh-muted:#65564c;box-sizing:border-box;color:var(--fsh-ink);width:100%;margin:32px auto;font-family:inherit;font-size:16px;line-height:1.65}
.fsh *{box-sizing:border-box}.fsh [hidden]{display:none!important}
.fsh-intro{max-width:none;margin-bottom:32px}.fsh-kicker{color:var(--fsh-accent);font-size:12px;font-weight:700;letter-spacing:.12em}
.fsh .fsh-intro h2{font-family:inherit;color:var(--fsh-ink);font-size:clamp(28px,3vw,40px);line-height:1.15;margin:10px 0 18px}.fsh-intro p{font-size:18px;line-height:1.6;margin:0}
.fsh-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.35fr);gap:30px;align-items:start}
.fsh-panel{padding:26px;background:#faf7f4;border:1px solid #e6dbd2;border-radius:6px}
.fsh label:not(.fsh-consent){display:block;font-size:16px;font-weight:600;margin:20px 0 9px}
.fsh .fsh-upload{display:flex!important;flex-direction:column;gap:11px;margin:0 0 22px!important;padding:20px;border:1px dashed #cbb3a2;border-radius:4px;background:#fff}
.fsh-upload span,.fsh-upload small{font-weight:400;font-size:15px;line-height:1.55;color:var(--fsh-muted)}.fsh input[type=file]{width:100%;font:inherit;font-size:15px}
.fsh select{appearance:auto!important;width:100%!important;height:auto!important;min-height:48px;padding:11px 12px!important;border:1px solid #d6c7bb!important;border-radius:4px!important;background:#fff!important;color:var(--fsh-ink)!important;font:inherit!important}
.fsh .fsh-consent{display:flex;gap:12px;font-size:15px;line-height:1.65;margin:24px 0!important;align-items:start;font-weight:400}
.fsh-consent-title{display:block;margin-bottom:6px;color:var(--fsh-ink);font-size:16px;font-weight:700}
.fsh-consent input{width:20px!important;height:20px!important;flex:0 0 20px;margin:4px 0 0;accent-color:var(--fsh-accent)}
.fsh a{color:#985021;text-decoration:underline;text-underline-offset:3px}.fsh button{font:inherit;cursor:pointer}
.fsh .fsh-primary{width:100%;padding:15px 18px;border:1px solid var(--fsh-accent);border-radius:4px;background:var(--fsh-accent);color:#fff;font-size:16px;font-weight:700;line-height:1.4}.fsh .fsh-primary:hover{background:#a95022}.fsh button:disabled{opacity:.6;cursor:wait}
.fsh .fsh-reset-controls{margin:12px 0 16px;text-align:center}
.fsh .fsh-reset{display:inline-block;width:auto;margin:0;border:1px solid #cbb3a2;border-radius:4px;background:transparent;color:var(--fsh-ink);font-size:14px;padding:6px 12px;line-height:1.5}
.fsh .fsh-reset:hover:not(:disabled){background:#faf7f4;border-color:var(--fsh-accent)}
.fsh-status{font-size:16px;line-height:1.6;margin:18px 0 0}.fsh-status:empty{display:none}.fsh-error{color:#a52222}
.fsh-stage{padding:22px;border:1px solid #e6dbd2;border-radius:6px;background:#fff;min-height:400px}
.fsh-placeholder{min-height:360px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--fsh-muted);font-size:19px;background:linear-gradient(135deg,#faf7f4,#efe5dc);padding:20px}.fsh-placeholder small{font-size:16px}
.fsh-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.fsh figure{margin:0!important}.fsh figure img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;background:#faf7f4;border-radius:3px}.fsh figcaption{font-size:15px;text-align:center;margin-top:10px;color:var(--fsh-muted)}
.fsh-actions{display:flex;flex-wrap:wrap;column-gap:22px;row-gap:12px;margin-top:24px;font-size:16px;line-height:1.6}.fsh-actions a{padding:3px 0}
.fsh-booking-note{font-size:15px;line-height:1.65;color:var(--fsh-muted);margin:16px 0 0}
.fsh-archive-status{font-size:16px;line-height:1.6;overflow-wrap:anywhere;background:#faf7f4;padding:20px;margin-top:22px;border-left:3px solid var(--fsh-accent)}
.fsh-archive-heading{display:block;font-size:18px;color:var(--fsh-ink);font-weight:700}.fsh-archive-status p{font-size:15px;line-height:1.6;margin:8px 0;color:var(--fsh-muted)}
.fsh-archive-status .fsh-id-label,.fsh-id-label{font-size:14px;font-weight:600;line-height:1.5;margin:18px 0 6px;color:#65564c}.fsh-archive-status .fsh-archive-help{margin:14px 0 0;font-size:14px}
/* Shared record number widget, also used in the protected backend archive. */
.fsh-record{max-width:100%;margin:6px 0 12px}.fsh-record-row{display:flex;align-items:center;gap:12px;max-width:100%}
.fsh-record-id{display:block;flex:1 1 auto;min-width:0;font-family:inherit;font-size:17px!important;font-weight:700!important;line-height:1.5;color:#30241f;overflow-wrap:anywhere;user-select:all}
.fsh-copy,.fsh-admin .fsh-copy{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px!important;width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;border:1px solid #cbb9ab!important;border-radius:4px!important;background:#fff!important;color:#985021!important;line-height:1!important;cursor:pointer}
.fsh-copy:hover,.fsh-admin .fsh-copy:hover{background:#f1e6dc!important}.fsh-copy svg{display:block;pointer-events:none;flex-shrink:0}.fsh-copy[data-state=copied] svg{display:none}.fsh-copy[data-state=copied]::after{content:'✓';font-size:23px;color:#326d38}.fsh-copy-feedback{display:block;font-size:14px;line-height:1.5;color:#326d38;margin-top:6px}.fsh-copy-feedback:empty{display:none}.fsh-record .fsh-copy:focus-visible{outline:3px solid #c76b3280;outline-offset:3px}
.fsh-photo-tips{font-size:15px;line-height:1.6;color:var(--fsh-muted);margin:10px 0 22px}.fsh-photo-tips summary{cursor:pointer;color:#985021;font-weight:600}.fsh-photo-tips p{font-size:15px;margin:10px 0 0}
.fsh-progress{display:flex;gap:13px;align-items:flex-start;padding:17px;margin-top:18px;border:1px solid #dfd1c6;border-radius:4px;background:#fff}.fsh-progress strong{display:block;font-size:16px}.fsh-progress small{display:block;font-size:14px;color:var(--fsh-muted);margin-top:6px}.fsh-elapsed{display:block;font-size:15px;margin-top:5px;font-variant-numeric:tabular-nums}.fsh-spinner{display:block;width:25px;height:25px;flex:0 0 25px;margin-top:3px;border:3px solid #ecdfd5;border-top-color:var(--fsh-accent);border-radius:50%;animation:fsh-spin 1s linear infinite}
.fsh-quality{background:#fff8ed;border:1px solid #dfbd86;padding:16px;margin:16px 0;border-radius:4px;font-size:15px}.fsh-quality strong{display:block}.fsh-quality-list{padding-left:20px;margin:10px 0}.fsh-quality-list li{margin:7px 0}.fsh-quality .fsh-consent{margin:14px 0 0!important}
.fsh :is(input,select,button,a,summary):focus-visible{outline:3px solid #c76b3280;outline-offset:3px}.fsh[aria-busy=true] .fsh-stage{opacity:.7}
@keyframes fsh-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.fsh-spinner{animation:none}}
@media(max-width:760px){.fsh-grid{grid-template-columns:1fr;gap:22px}.fsh-panel,.fsh-stage{padding:18px}.fsh-placeholder{min-height:240px}.fsh-stage{min-height:280px}.fsh-images{grid-template-columns:repeat(2,minmax(0,1fr))}.fsh .fsh-intro h2{font-size:30px}.fsh-archive-status{padding:16px}.fsh-record-id{font-size:16px!important}.fsh-actions{gap:14px 20px}}
.fsh-ref-preview{display:block;max-width:160px;width:100%;max-height:190px;object-fit:contain;margin:14px 0;border-radius:4px}.fsh-grid>*{min-width:0}

/* Decorative example is isolated from copy and never used as the visitor's result. */
.fsh-placeholder{position:relative;isolation:isolate;overflow:hidden;color:#30241f;background:#f7f1eb;padding:28px 22px 48px}
.fsh-placeholder::before{content:'';position:absolute;inset:0;z-index:-2;background-image:url('preview-example.webp');background-size:cover;background-position:center 38%;opacity:.70;pointer-events:none}
.fsh-placeholder::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(250,247,244,.03) 0%,rgba(250,247,244,.18) 41%,rgba(250,247,244,.18) 63%,rgba(250,247,244,.03) 100%);pointer-events:none}
.fsh-placeholder-copy{position:relative;max-width:100%;font-size:19px;line-height:1.55;font-weight:500;color:#30241f;text-shadow:0 1px 8px rgba(255,255,255,.95)}
.fsh-placeholder-copy small{display:block;font-size:16px;line-height:1.6;font-weight:400;margin-top:7px;color:#55453b}
.fsh-example-label{position:absolute;bottom:12px;right:14px;left:14px;font-size:13px;line-height:1.5;text-align:center;color:#65564c;text-shadow:0 1px 4px #fff}
@media(max-width:760px){.fsh-placeholder-copy{font-size:17px}.fsh-placeholder-copy small{font-size:15px}.fsh-placeholder::before{background-position:center 32%}}

/* Mobile: show the preview before the inputs; leave desktop columns unchanged. */
@media(max-width:760px){.fsh-grid>.fsh-stage{order:-1;scroll-margin-top:130px}}

/* Required consent controls the start button; archive consent stays optional. */
.fsh .fsh-primary:disabled,.fsh .fsh-primary:disabled:hover{background:#d8d2cd;border-color:#d8d2cd;color:#655e58;opacity:1;cursor:not-allowed}
.fsh[aria-busy="true"] .fsh-primary:disabled{cursor:wait}

/* Own side panel for a question about the generated look. */
.fsh .fsh-inquiry-open{padding:12px 16px;background:var(--fsh-accent);border:1px solid var(--fsh-accent);border-radius:4px;color:#fff;font:inherit;font-weight:700;line-height:1.4;cursor:pointer}
.fsh-inquiry{box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:28px 24px 32px;border:0;background:#fff;color:#30241f;font-family:inherit;font-size:16px;line-height:1.6;overflow-y:auto;overscroll-behavior:contain;z-index:2147483647}
.fsh-inquiry *{box-sizing:border-box}.fsh-inquiry[open]{animation:fsh-inquiry-enter .22s ease-out}
.fsh-inquiry::backdrop{background:rgba(0,0,0,.58)}
.fsh-inquiry h2{font-family:inherit;font-size:23px;line-height:1.3;font-weight:700;margin:0 44px 14px 0;color:#30241f}.fsh-inquiry p{font-size:15px;line-height:1.6;margin:12px 0 18px}
.fsh-inquiry-close{position:absolute;right:14px;top:14px;border:0;border-radius:50%;width:36px;height:36px;background:#30241f;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.fsh-inquiry-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fsh-inquiry-images figure{min-width:0;margin:0}.fsh-inquiry-images img{width:100%;height:170px;object-fit:contain;background:#faf7f4;border-radius:4px}.fsh-inquiry-images figcaption{font-size:14px;text-align:center;color:#65564c}
.fsh-inquiry-form label:not(.fsh-inquiry-consent){display:block;font-weight:600;font-size:15px;margin:16px 0 7px}
.fsh-inquiry-form input[type=text],.fsh-inquiry-form input[type=email],.fsh-inquiry-form textarea{display:block;width:100%!important;max-width:100%;height:auto!important;min-height:46px;padding:10px 12px!important;background:#fff!important;color:#30241f!important;border:1px solid #d6c7bb!important;border-radius:4px;font:inherit!important;line-height:1.5!important}
.fsh-inquiry-form textarea{resize:vertical;min-height:110px}.fsh-inquiry a{color:#985021;text-decoration:underline;text-underline-offset:3px}
.fsh-inquiry-consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.6;margin:22px 0 16px}.fsh-inquiry-consent input{width:20px!important;height:20px!important;flex:0 0 20px;margin:3px 0 0;accent-color:#c76b32}
.fsh-inquiry .fsh-inquiry-privacy{font-size:14px;color:#65564c}.fsh-inquiry-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.fsh-inquiry-send{display:block;width:100%;min-height:48px;padding:12px;border:1px solid #c76b32;border-radius:4px;background:#c76b32;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.fsh-inquiry-send:disabled{background:#d8d2cd;border-color:#d8d2cd;color:#655e58;cursor:not-allowed}.fsh-inquiry-form[aria-busy=true] .fsh-inquiry-send{cursor:wait}
.fsh-inquiry .fsh-inquiry-feedback{font-size:15px;font-weight:600;color:#356344}.fsh-inquiry .fsh-inquiry-error{color:#a52222}.fsh-inquiry-feedback:empty{display:none}
@keyframes fsh-inquiry-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.fsh-inquiry[open]{animation:none}}
@media(max-width:480px){.fsh-inquiry{padding:24px 18px 32px}.fsh-inquiry-images img{height:140px}}

/* Progress belongs to the top layer, independent of the form's scroll position. */
.fsh .fsh-generation{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(520px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #dfd1c6;border-radius:8px;background:#fff;color:#30241f;box-shadow:0 18px 60px rgba(48,36,31,.22);font:inherit;overflow-y:auto}
.fsh-generation::backdrop{background:rgba(0,0,0,.58)}
.fsh-generation .fsh-progress{margin:0;padding:30px 26px;border:0;gap:18px}
.fsh-generation .fsh-spinner{width:32px;height:32px;flex-basis:32px;margin-top:5px}
.fsh .fsh-generation .fsh-generation-title{margin:0 0 12px;font:inherit;font-size:23px;line-height:1.3;font-weight:700;color:#30241f}
.fsh-generation .fsh-phase{margin:0 0 10px;font-size:16px;line-height:1.5}
.fsh-generation .fsh-elapsed{font-size:16px;font-weight:600}
.fsh-generation .fsh-generation-help{font-size:15px;line-height:1.65;color:#65564c;margin:18px 0 0}
.fsh-inquiry [hidden]{display:none!important}
.fsh-inquiry-success{display:flex;min-height:calc(100dvh - 60px);flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:45px 0}
.fsh-inquiry-success-icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;margin-bottom:24px;border-radius:50%;background:#edf5eb;color:#356344}
.fsh-inquiry-success h2{margin:0 0 12px;width:100%;font-size:25px;line-height:1.3}
.fsh-inquiry-success p{margin:0 0 20px;font-size:16px}
.fsh-inquiry-success-close{width:100%;padding:14px 18px;margin-top:12px;border:1px solid #c76b32;border-radius:4px;background:#c76b32;color:#fff;font:inherit;font-weight:700;cursor:pointer}
@media(max-width:480px){.fsh-generation .fsh-progress{padding:25px 18px;gap:13px}.fsh .fsh-generation .fsh-generation-title{font-size:21px}}

.fsh-generation-title:focus,.fsh-inquiry-success h2:focus{outline:none}


/* Override paragraph width limits from the site template for this intro only. */
.fsh .fsh-intro{width:100%!important;max-width:none!important}
.fsh .fsh-intro>p{width:100%!important;max-width:none!important;white-space:normal}

/* Equal comparison areas preserve each complete image without cropping. */
.fsh .fsh-images{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.fsh .fsh-images>figure>img{width:100%!important;height:auto!important;aspect-ratio:2/3;max-height:600px;object-fit:contain!important;object-position:center}

/* Keep each short explanation next to the element it describes. */
.fsh .fsh-preview-note{display:block;margin:18px 0 0;padding:16px 0 0;border-top:1px solid #e6dbd2}
.fsh .fsh-preview-note h3{font:inherit;font-size:17px!important;font-weight:700;color:var(--fsh-ink);line-height:1.4;margin:0 0 8px!important}
.fsh .fsh-preview-note h3::before,.fsh .fsh-preview-note h3::after{display:none!important}
.fsh .fsh-preview-note p{font-size:15px;line-height:1.65;color:var(--fsh-muted);margin:0;max-width:none}
.fsh .fsh-reset-note{font-size:14px;line-height:1.6;color:var(--fsh-muted);text-align:center;margin:3px 0 0;max-width:none}

.fsh .fsh-unavailable{padding:22px;margin:0 0 26px;border:1px solid #dfd1c6;border-radius:5px;background:#faf7f4;font-size:16px;line-height:1.6}
.fsh .fsh-unavailable p{margin:8px 0 16px;max-width:none}
.fsh .fsh-unavailable a{display:inline-block;margin-right:20px}
.fsh .fsh-availability-refresh{padding:8px 12px;border:1px solid #cbb3a2;border-radius:4px;background:#fff;color:#30241f;font:inherit;cursor:pointer}

.fsh .fsh-quota{font-size:16px;line-height:1.6;margin:22px 0 12px;max-width:none;color:var(--fsh-ink)}
.fsh .fsh-quota span{display:block;margin-top:5px;font-size:14px;color:var(--fsh-muted)}
