/* Guided intake uses the site's forest, paper, lime and editorial type system. */
/* Shared depth tokens keep every step on the same recessed surface. */
#quote-dialog{
 --q-surface:linear-gradient(145deg,#eff2ed,#d6dfd7);
 --q-tray:linear-gradient(145deg,#c2cbc7,#d9dfdb);
 --q-rim:#d5ddd180;
 --q-raised:-8px -8px 16px #ffffffb3,10px 12px 16px #1c2c245c,inset 2px 2px 3px #ffffffe6,inset -2px -2px 3px #34463b40;
 --q-raised-control:-5px -5px 10px #ffffffb3,6px 7px 10px #1c2c245c,inset 2px 2px 3px #ffffffe6,inset -2px -2px 3px #34463b40;
 --q-inset:inset 4px 4px 8px #263d3147,inset -4px -4px 8px #ffffffb3,inset 0 0 0 1px #ffffff26;
 --q-pressed:inset 7px 7px 16px #30441f38,inset -6px -6px 13px #f5ffd580,inset 0 0 0 1px #ffffff26;
 width:min(860px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:30px 42px 24px;
 background:var(--q-tray);color:#183c32;border:1px solid #e7ece699;border-radius:24px;
 box-shadow:0 24px 60px #071e2866,inset 3px 3px 5px #20382d55,inset 12px 12px 22px #263d3166,inset -10px -10px 20px #ffffffb3;
 overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;
}
#quote-dialog::backdrop{background:#102c29b8;backdrop-filter:blur(9px)}
#quote-dialog:focus,#quote-dialog:focus-visible{outline:none}
#quote-dialog .dialog-top{position:absolute;top:16px;right:16px;margin:0}
#quote-dialog:has([data-path]) #quote-title{padding-right:40px}
#quote-dialog .q-progress-label{padding-right:48px}
#quote-dialog:has([data-path]) .q-context{margin:24px 0 0}
#quote-dialog .icon-button{flex:0 0 42px;width:42px;height:42px;background:var(--q-surface);color:#183c32;box-shadow:var(--q-raised-control);border:1px solid var(--q-rim);border-radius:50%}
#quote-dialog .q-progress-label{min-height:34px;align-items:flex-start;display:flex;justify-content:space-between;gap:15px;font-size:15px;font-weight:550;color:#455d52;margin-bottom:9px}
#quote-dialog .q-progress{height:7px;background:#bac7bf;border-radius:6px;overflow:hidden;margin-right:0;margin-bottom:28px;box-shadow:inset 2px 2px 3px #263d3147,inset -1px -1px 2px #ffffffb3}
#quote-dialog .q-progress>span{display:block;height:100%;background:#6e8c2e;border-radius:inherit;box-shadow:inset 0 1px 1px #ffffff80;transition:width .2s}
#quote-dialog .q-context{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 24px}
#quote-dialog .q-context>span{background:#eff7a0;border:1px solid #cbd884;border-radius:6px;padding:8px 12px;font-size:15px;line-height:1.35;font-weight:650}
#quote-dialog #quote-title{font-family:var(--sans);font-size:clamp(29px,3.2vw,42px);font-weight:650;line-height:1.12;letter-spacing:-.04em;margin:0;color:#183c32;outline:none}
#quote-dialog #quote-title em{color:inherit;font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.035em}
#quote-dialog .q-intro{font-size:18px;line-height:1.55;color:#40584d;max-width:640px;margin:16px 0 25px}
#quote-dialog .q-shop-entry{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding:16px 0;margin-bottom:24px;border-block:1px solid var(--a-action-line)}
#quote-dialog .q-shop-entry>div{min-width:0;flex:1 1 240px}
#quote-dialog .q-shop-entry span{display:block;font-size:14px;color:#40584d;margin-bottom:6px}
#quote-dialog .q-shop-entry strong{display:block;font-size:16px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}
#quote-dialog .q-entry-note{font-size:16px;line-height:1.6;color:#40584d;overflow-wrap:anywhere;margin:0 0 24px}
#quote-dialog:has([data-path]) .q-intro{padding-inline-start:6px}
#quote-dialog .q-paths{display:grid;grid-template-columns:1fr 1fr;gap:24px}
/* Raised choices reverse the tray lighting; the bevel stays inside the silhouette. */
#quote-dialog .q-path{display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:12px;padding:23px;border:1px solid;border-color:#d5ddd180;border-radius:17px;background:var(--q-surface);color:#183c32;min-height:235px;box-shadow:var(--q-raised);transition:background .16s,border-color .16s,box-shadow .16s}
#quote-dialog .q-path-icon{width:48px;height:48px;border-radius:0;color:#315840;background:none;box-shadow:none;display:grid;align-items:center;justify-items:start;border:0}
#quote-dialog .q-path-icon svg{width:23px;height:23px}
#quote-dialog .q-path>strong{font-size:22px;letter-spacing:-.025em;line-height:1.2}
#quote-dialog .q-path>span:not(.q-path-icon){font-size:17px;line-height:1.4;color:#435b4f}
#quote-dialog .q-path .q-path-time{margin-top:auto;padding-top:8px;display:flex;width:100%;align-items:center;justify-content:space-between;font-size:15px!important;font-weight:600}
#quote-dialog .q-path-time>span{font-size:23px}
#quote-dialog .q-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
#quote-dialog .q-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--q-rim);border-radius:12px;background:var(--q-surface);color:#254638;padding:18px;min-height:67px;font-size:18px;line-height:1.4;text-align:left;font-weight:550;box-shadow:var(--q-raised-control);transition:background .16s,border-color .16s,box-shadow .16s}

#quote-dialog .q-check{display:grid;place-items:center;flex:0 0 23px;height:23px;font-size:14px;border:1px solid #aebea0;border-radius:50%;color:transparent;background:#fffef5}
#quote-dialog [aria-pressed=true]>.q-check{color:#f8faef;background:#183c32;border-color:#183c32}
#quote-dialog .q-field{display:block;font-size:17px;font-weight:650;line-height:1.4;margin-top:22px;color:#183c32}
#quote-dialog .q-field>span{font-weight:400;margin-left:7px;color:#4c6257}
#quote-dialog :is(input:not([type=checkbox],[type=file]),select,textarea){display:block;width:100%;min-height:54px;border:1px solid #96a69b80;background:linear-gradient(145deg,#cbd5ce,#e2e8df);color:#193c32;padding:13px 15px;font:400 18px/1.4 var(--sans);border-radius:10px;margin-top:9px;box-shadow:var(--q-inset)}
#quote-dialog input::placeholder,#quote-dialog textarea::placeholder{color:#506257;opacity:1}
#quote-dialog :is(button,input,select,textarea,summary,a):focus-visible{outline:3px solid #7b9b38;outline-offset:3px}
#quote-dialog .q-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#quote-dialog .q-channel{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:72px;padding:20px 12px;background:var(--q-surface);border:1px solid var(--q-rim);border-radius:12px;color:#292d2b;box-shadow:var(--q-raised-control);font:600 16px/1.25 var(--sans);text-align:center;transition:background .16s,border-color .16s,box-shadow .16s;cursor:pointer}

/* Full wordmarks identify brands without a duplicate label. */
#quote-dialog .q-channels:focus-visible{outline:2px solid #7b9b38;outline-offset:7px;border-radius:12px}
#quote-dialog .q-channel-mark{display:grid;place-items:center;height:28px;background:none;box-shadow:none}
#quote-dialog .q-channel-mark img{display:block;width:auto;height:28px;max-width:100%;object-fit:contain;filter:brightness(0)}
#quote-dialog .q-channel-label{min-width:0;white-space:nowrap}
#quote-dialog .q-channel>.q-check{position:absolute;top:10px;right:10px;width:18px;height:18px;font-size:12px;border:0;background:#183c32;color:#fff;visibility:hidden}
#quote-dialog .q-channel-detail .q-field{margin-top:22px}
#quote-dialog .q-other-channel{display:inline-flex;align-items:center;gap:8px;margin-top:16px}
#quote-dialog .q-other-check{visibility:hidden;text-decoration:none}
#quote-dialog .q-other-channel[aria-pressed=true] .q-other-check{visibility:visible}
#quote-dialog .q-channel-help{font-size:16px;line-height:1.4;margin:8px 0 0;color:#455d52}
#quote-dialog .q-next-group{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-width:0}
#quote-dialog .q-channel-hint{font-size:15px;line-height:1.3;color:#455d52}
#quote-dialog .q-detection{color:#315840;font-size:16px;line-height:1.4;margin:8px 0 0;overflow-wrap:anywhere}
#quote-dialog .q-detection:empty{display:none}
#quote-dialog .q-amazon{font-size:17px;line-height:1.5;margin-top:10px}
#quote-dialog:has(.q-channels) .q-navigation{border:0;padding-top:0;margin-top:27px}

#quote-dialog .q-link,#quote-dialog .q-back{background:transparent;border:0;border-radius:0;box-shadow:none;font:600 16px/1.5 var(--sans);color:#254b3b;padding:7px 0;text-decoration:underline;text-underline-offset:4px;min-height:40px;cursor:pointer}
#quote-dialog .q-back{text-decoration:none;padding:10px 12px 10px 0}
#quote-dialog .q-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding-top:24px;border-top:1px solid #d1dbc6}
#quote-dialog .button{justify-content:center;text-align:center;min-height:51px;border-radius:10px;font-size:17px;line-height:1.35;font-weight:650;padding:14px 23px;gap:16px;background:linear-gradient(145deg,#2c5547,#183c32);color:#fafbef;border:1px solid #183c3266;box-shadow:-4px -4px 9px #ffffff80,5px 6px 9px #1c2c2459,inset 1px 1px 2px #ffffff40,inset -1px -1px 2px #061f2b66;transition:background .16s,box-shadow .16s}
#quote-dialog .button:hover:not(:disabled){background:var(--lime);color:#183c32;box-shadow:var(--q-pressed)}
#quote-dialog .button:disabled{background:#c8d2cb;color:#58675e;border-color:#9daa9d80;box-shadow:var(--q-inset);opacity:1;cursor:default}
#quote-dialog .q-reassurance{font-size:17px;line-height:1.5;text-align:center;color:#40584d;margin:23px 0 0}
#quote-dialog .q-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;font-size:14px;line-height:1.4;color:#52644d}
#quote-dialog .q-save-row .q-link{font-size:14px;white-space:nowrap}
#quote-dialog .q-moods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}
#quote-dialog .q-mood{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;position:relative;padding:10px 10px 16px;border:1px solid var(--q-rim);border-radius:12px;background:var(--q-surface);color:#183c32;box-shadow:var(--q-raised-control);min-width:0;transition:background .16s,border-color .16s,box-shadow .16s}
#quote-dialog .q-mood>strong{display:block;font-size:19px;margin:13px 4px 5px}
#quote-dialog .q-mood>span:not(.q-mood-preview,.q-check){display:block;font-size:14px;margin-inline:4px;padding-right:18px}
#quote-dialog .q-mood>.q-check{position:absolute;bottom:15px;right:10px;width:21px;height:21px}
#quote-dialog .q-mood-preview{display:block;flex:0 0 auto;width:100%;background:var(--mood-bg);color:var(--mood-ink);padding:13px 12px;border-radius:5px;aspect-ratio:1/1.12;overflow:hidden}
#quote-dialog .q-mini-nav{display:flex;justify-content:space-between;font-size:7px;font-weight:700;letter-spacing:.12em}
#quote-dialog .q-mini-title{display:block;font:500 clamp(16px,2.1vw,24px)/1.1 var(--serif);letter-spacing:-.02em;margin:20px 0 16px}
#quote-dialog .q-mini-title em{color:var(--mood-accent)}
#quote-dialog .q-mini-products{display:flex;gap:5px}
#quote-dialog .q-mini-products i{display:block;flex:1;aspect-ratio:.8;background:var(--mood-accent);opacity:.65;border-radius:35% 35% 3px 3px}
#quote-dialog .q-mini-products i:nth-child(2){opacity:.35;border-radius:3px}
#quote-dialog .q-mini-products i:nth-child(3){opacity:.85;border-radius:50% 50% 3px 3px}
#quote-dialog .q-surprise{width:100%;min-height:55px}
#quote-dialog .q-studio-choice{width:100%;margin-top:18px}
#quote-dialog .q-studio-choice small{display:block;font-size:15px;font-weight:400}
#quote-dialog .q-checkbox{display:flex;align-items:flex-start;gap:12px;margin-top:18px;font-size:16px;font-weight:400;line-height:1.5}
#quote-dialog input[type=checkbox]{appearance:auto;width:21px;height:21px;flex:0 0 21px;accent-color:#183c32;margin:2px 0 0}
#quote-dialog .q-contact{width:100%;max-width:none}
#quote-dialog .q-contact .q-field:first-child{margin-top:0}
#quote-dialog .q-error{padding:13px 16px;background:#f9e3dc;border:1px solid #c87359;color:#803a23;border-radius:8px;font-size:17px;line-height:1.45;margin-top:20px}
#quote-dialog .q-upload-section{margin-top:24px;padding-top:8px;border-top:0}
#quote-dialog :is(.q-upload-section,.q-access)>summary{font-size:18px;font-weight:650;line-height:1.4;cursor:pointer;color:#183c32;min-height:48px;padding:14px 16px;border:1px solid var(--q-rim);border-radius:10px;background:var(--q-surface);box-shadow:var(--q-raised-control)}
#quote-dialog :is(.q-upload-section,.q-access) p,#quote-dialog .q-body-copy{font-size:17px;line-height:1.55;margin-top:12px;color:#40584d}
#quote-dialog .q-preview-note{font-size:16px;line-height:1.5;padding:15px 18px;border:1px solid #96a69b66;border-radius:10px;background:#d0dacf;box-shadow:var(--q-inset);color:#334b3e;margin-top:24px}
#quote-dialog .q-summary{padding-left:22px;margin:18px 0;list-style:disc;display:grid;gap:10px}
#quote-dialog .q-summary li{font-size:17px;line-height:1.5;overflow-wrap:anywhere}
#quote-dialog .q-summary li::marker{color:#789436}
#quote-dialog .q-calendar{width:100%;min-height:660px;padding:8px;border:1px solid #96a69b80;border-radius:12px;background:#d0dacf;box-shadow:var(--q-inset);display:block;overflow:hidden}
#quote-dialog .q-saved-chip{display:inline-block;background:#e5edcc;border:1px solid #a4b48b80;border-radius:8px;box-shadow:var(--q-inset);font-size:16px;font-weight:600;padding:10px 14px;margin:0 0 18px}
#quote-dialog .q-timezone{font-size:16px;line-height:1.5;margin:8px 0 16px;color:#40584d}
#quote-dialog .q-next-card{background:var(--q-surface);border:1px solid var(--q-rim);box-shadow:var(--q-raised-control);border-radius:14px;padding:22px;margin:24px 0}
#quote-dialog .q-next-card>strong{font-size:20px}
#quote-dialog .q-next-card>p{font-size:18px;line-height:1.5}
#quote-dialog .q-upload-section ol{list-style:decimal;padding-left:25px;display:grid;gap:12px;margin:20px 0;font-size:17px;line-height:1.5}
#quote-dialog .q-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;border:1px dashed #788e7c;background:#cbd5ce;box-shadow:var(--q-inset);border-radius:12px;text-align:center;padding:24px;cursor:pointer;font-size:16px}
#quote-dialog .q-drop svg{width:28px;height:28px}
#quote-dialog .q-drop strong{font-size:19px}
#quote-dialog .q-drop input{max-width:100%;font-size:15px;margin-top:8px}
#quote-dialog .q-drop.dragging{background:var(--lime);box-shadow:var(--q-pressed)}
#quote-dialog .q-access{margin-top:16px}
#quote-dialog .q-finish{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}
#quote-dialog :is(.q-upload-section,.q-access)[open]>summary{background:#ccd7cf;box-shadow:var(--q-inset)}
#quote-dialog :is(.q-upload-section,.q-access)>summary:hover{background:var(--lime);box-shadow:var(--q-pressed)}
#quote-dialog [hidden]{display:none!important}
@media(max-width:760px){#quote-dialog .q-channels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 #quote-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:20px 20px 18px;border-radius:18px;scrollbar-gutter:auto}
 #quote-dialog .dialog-top{top:12px;right:12px}
 #quote-dialog .q-progress{margin-bottom:24px}
 #quote-dialog .q-progress-label{font-size:14px}
 #quote-dialog .q-intro{font-size:17px;margin:14px 0 21px}
 #quote-dialog .q-paths{grid-template-columns:1fr;gap:20px}
 #quote-dialog .q-path{min-height:0;padding:18px;display:grid;grid-template-columns:38px 1fr;gap:7px 12px}
 #quote-dialog .q-path-icon{grid-row:1/3;width:36px;height:36px}
 #quote-dialog .q-path>strong{font-size:20px}
 #quote-dialog .q-path>span:not(.q-path-icon){grid-column:2;font-size:16px}
 #quote-dialog .q-path .q-path-time{padding-top:3px;font-size:14px!important}
 #quote-dialog .q-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 #quote-dialog .q-channel{min-height:72px;padding:20px 8px;font-size:14px}
 #quote-dialog .q-channel-mark,#quote-dialog .q-channel-mark img{height:26px}
 #quote-dialog .q-channel-detail .q-field{margin-top:20px;font-size:16px}
 #quote-dialog .q-next-group{flex-direction:column;align-items:flex-end;gap:8px}
 #quote-dialog .q-channel-hint{font-size:14px}
 #quote-dialog .q-choices{gap:14px}
 #quote-dialog .q-choice{padding:15px 12px;font-size:17px;gap:8px;min-height:69px}
 #quote-dialog .q-save-row{align-items:flex-start;font-size:13px;gap:16px}
 #quote-dialog .q-save-row .q-link{font-size:13px;min-height:30px;padding-top:0}
 #quote-dialog .q-navigation{gap:10px;margin-top:25px;padding-top:20px}
 #quote-dialog .q-navigation .button{padding:13px 16px;font-size:16px;gap:8px}
 #quote-dialog .q-navigation:has(#q-next) .q-back{font-size:15px}
 #quote-dialog .q-moods{gap:14px}
 #quote-dialog .q-mood{padding:6px 6px 33px}
 #quote-dialog .q-mood>strong{font-size:15px;margin-inline:0}
 #quote-dialog .q-mood>span:not(.q-mood-preview,.q-check){font-size:12px;margin-inline:0;padding-right:0}
 #quote-dialog .q-mood-preview{padding:9px 7px;aspect-ratio:1/1.5}
 #quote-dialog .q-mini-title{font-size:16px;margin-top:18px}
 #quote-dialog .q-mini-nav{font-size:5px}
 #quote-dialog .q-mood>.q-check{bottom:8px;right:9px}
 #quote-dialog .q-context>span{font-size:14px}
 #quote-dialog .q-calendar{min-height:760px}
 #quote-dialog .q-reassurance{font-size:16px}
}
@media(prefers-reduced-motion:reduce){#quote-dialog *{transition:none!important}}

@media(min-width:601px) and (max-height:800px){
 #quote-dialog{padding:22px 38px 18px}
 #quote-dialog .q-progress{margin-bottom:18px}
 #quote-dialog .q-context{margin-bottom:18px}
 #quote-dialog .q-intro{margin:12px 0 18px}
 #quote-dialog .q-path{padding:18px;min-height:190px;gap:9px}
 #quote-dialog .q-path-icon{width:34px;height:34px}
 #quote-dialog .q-reassurance{margin-top:16px}
 #quote-dialog .q-save-row{margin-top:14px}
}

/* A Studio design needs a direct path into the guided request. */
#opening.studio-active .studio-next{display:block}
#opening.studio-active .studio-next .button{width:100%;min-height:46px;justify-content:center;text-align:center}

#quote-dialog .q-save-row:has(#q-save[hidden]){display:none}

#quote-dialog .q-launch-kit{padding:18px;border:1px solid var(--q-rim);border-radius:12px;background:var(--q-surface);box-shadow:var(--q-raised-control)}
#quote-dialog .q-launch-kit:has(input:checked){box-shadow:var(--q-inset)}
#quote-dialog .q-launch-kit>span>span{display:block;margin-top:5px;color:#40584d}

/* Contact stays aligned, with secondary actions kept quiet. */
#quote-dialog .q-field-note{font-size:16px;line-height:1.5;color:#40584d;margin:9px 0 0}
#quote-dialog .q-inline-link{display:inline;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#183c32;font:600 16px/1.5 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#quote-dialog .q-inline-link:hover{text-decoration-thickness:2px}
#quote-dialog .q-sms-consent{margin-top:12px}
#quote-dialog .q-answer-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 7px;margin-top:22px;font-size:16px;line-height:1.6;color:#40584d}
#quote-dialog .q-answer-list{margin-top:12px}
#quote-dialog .q-answer-list>button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:13px 0;background:transparent;border:0;border-bottom:1px solid #9ead9e66;box-shadow:none;text-align:left;font:400 16px/1.45 var(--sans);color:#40584d;cursor:pointer}
#quote-dialog .q-answer-list>button strong{display:block;font-weight:550;color:#183c32;overflow-wrap:anywhere}
#quote-dialog .q-answer-list>button>span:last-child{flex:none;text-decoration:underline;text-underline-offset:3px}
#quote-dialog .q-launch-kit,#quote-dialog .q-launch-kit:has(input:checked){padding:0;background:transparent;box-shadow:none;border:0;border-radius:0;margin-top:20px}
#quote-dialog .q-launch-kit strong{font-weight:550}
#quote-dialog .q-launch-kit>span>span{margin-top:2px}

/* The request is complete: one status, then a clear invitation to talk. */
#quote-dialog .q-saved-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding-right:48px;min-height:42px;margin-bottom:24px;color:#40584d}
#quote-dialog .q-saved-row .q-saved-chip{margin:0;padding:8px 12px;font-size:15px}
#quote-dialog:has(.q-saved-row) .q-intro{margin-bottom:7px}
#quote-dialog .q-call-value{font-size:17px;line-height:1.5;color:#40584d;margin:0 0 24px}
#quote-dialog .q-timezone{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 5px;margin:0 0 14px}
#quote-dialog #q-zone-editor{margin-bottom:20px}
#quote-dialog #q-zone-editor .q-field{margin-top:0}
#quote-dialog .q-sample-calendar{padding:18px;border:1px solid var(--q-rim);border-radius:15px;background:var(--q-surface);box-shadow:var(--q-raised-control)}
#quote-dialog .q-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:17px}
#quote-dialog .q-calendar-toolbar>div{display:flex;gap:10px}
#quote-dialog .q-calendar-toolbar button:not(.allodia-action){width:38px;min-height:36px;padding:4px;border:1px solid #a8b7ab;border-radius:8px;background:var(--q-surface);color:#183c32;font-size:22px;box-shadow:var(--q-raised-control);cursor:pointer}
#quote-dialog .q-calendar-toolbar button:not(.allodia-action):disabled{opacity:.4;box-shadow:none;cursor:default}
#quote-dialog #q-sample-note{font-size:15px;line-height:1.4;color:#4c6257;margin:7px 0 16px}
#quote-dialog .q-calendar-days,#quote-dialog .q-calendar-times{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
#quote-dialog .q-calendar-days{margin-bottom:13px}
#quote-dialog .q-calendar-days button{padding:8px 4px;min-height:64px;background:transparent;border:1px solid transparent;border-radius:9px;color:#40584d;font:500 15px/1.3 var(--sans);cursor:pointer}
#quote-dialog .q-calendar-days strong{display:block;font-size:22px;font-weight:650;color:#183c32;margin-top:3px}
#quote-dialog .q-calendar-days button[aria-pressed=true]{background:#dbe4ce;border-color:#a4b58e;box-shadow:var(--q-inset)}
#quote-dialog .q-day-slots{display:flex;flex-direction:column;gap:10px;min-width:0}
#quote-dialog .q-day-slots button:not(.allodia-action){width:100%;min-height:44px;white-space:nowrap;padding:9px 4px;border:1px solid #9daa9d;border-radius:8px;background:var(--q-surface);color:#183c32;font:550 15px/1.4 var(--sans);box-shadow:-2px -2px 4px #ffffffa6,2px 3px 4px #263d312e;cursor:pointer}
#quote-dialog .q-day-slots button:not(.allodia-action):hover,#quote-dialog .q-calendar-toolbar button:not(.allodia-action):hover:not(:disabled){background:var(--lime)}
#quote-dialog .q-day-slots button:not(.allodia-action)[aria-pressed=true]{background:var(--lime);border-color:#6c823b;box-shadow:var(--q-pressed)}
#quote-dialog .q-schedule-alternatives{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:5px 8px;font-size:16px;line-height:1.6;color:#40584d;margin:22px 0 0}
#quote-dialog #q-schedule-panel{margin-top:18px;padding:16px 18px;border:1px solid #99aa9e80;border-radius:10px;background:#d6dfd6;box-shadow:var(--q-inset);font-size:16px;line-height:1.5;color:#40584d}
#quote-dialog #q-schedule-panel p{margin:0 0 10px}
#quote-dialog #q-schedule-panel strong{color:#183c32;font-weight:650}
#quote-dialog #q-schedule-panel .q-field{margin:0}
#quote-dialog #q-schedule-panel textarea{font-size:17px;margin-bottom:12px}
#quote-dialog .q-panel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:14px}
#quote-dialog .q-panel-actions .button{min-height:44px;font-size:16px;padding:11px 18px}
#quote-dialog .q-booking-unavailable{font-size:17px;line-height:1.5;margin:24px 0}
@media(max-width:600px){
 #quote-dialog .q-saved-row{gap:5px 7px;margin-bottom:22px}
 #quote-dialog .q-saved-row .q-saved-chip{font-size:14px;padding:7px 9px}
 #quote-dialog .q-saved-row .q-inline-link{font-size:14px}
 #quote-dialog .q-call-value{font-size:16px;margin-bottom:20px}
 #quote-dialog .q-timezone{font-size:15px}
 #quote-dialog .q-sample-calendar{padding:13px 12px}
 #quote-dialog .q-calendar-toolbar{font-size:15px;gap:8px}
 #quote-dialog .q-calendar-toolbar>div{gap:6px}
 #quote-dialog .q-calendar-toolbar button:not(.allodia-action){width:30px;min-height:34px}
 #quote-dialog .q-calendar-days{gap:4px}
 #quote-dialog .q-calendar-days button{font-size:13px;min-height:58px;padding-inline:0}
 #quote-dialog .q-calendar-days strong{font-size:21px}
 #quote-dialog .q-calendar-times{display:block}
 #quote-dialog .q-day-slots{display:none}
 #quote-dialog .q-day-slots[data-active=true]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #quote-dialog .q-day-slots button:not(.allodia-action){font-size:16px;min-height:45px}
 #quote-dialog .q-schedule-alternatives{justify-content:flex-start;gap:5px;font-size:15px}
 #quote-dialog .q-schedule-alternatives>span[aria-hidden]{display:none}
 #quote-dialog .q-schedule-alternatives .q-inline-link{font-size:15px}
}

/* Focus identifies keyboard position; only hover and selection change the fill. */
#quote-dialog .q-mood-preview{container-type:inline-size}
#quote-dialog .q-mini-title{font-size:clamp(10px,17cqw,24px)}
#quote-dialog .q-contact .q-field{margin-top:15px}
#quote-dialog .q-contact input{min-height:48px;padding-block:10px;margin-top:6px}
#quote-dialog:has(.q-contact) .q-intro{margin-bottom:18px}
#quote-dialog:has(.q-contact) .q-progress{margin-bottom:20px}
#quote-dialog:has(.q-contact) .q-preview-note{margin-top:16px;padding:12px 15px}
#quote-dialog:has(.q-contact) .q-answer-summary{margin-top:15px}
#quote-dialog:has(.q-contact) .q-navigation{margin-top:20px;padding-top:16px}
#quote-dialog .q-resume-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:24px}

@media(min-width:601px) and (max-height:800px){
 #quote-dialog:has(.q-contact){padding-top:20px;padding-bottom:16px}
 #quote-dialog:has(.q-contact) .q-progress-label{min-height:34px;margin-bottom:6px}
 #quote-dialog:has(.q-contact) .q-progress{margin-bottom:16px}
 #quote-dialog:has(.q-contact) .q-intro{margin:10px 0 14px;font-size:17px;line-height:1.4}
 #quote-dialog .q-contact .q-field{margin-top:12px;font-size:16px;line-height:1.3}
 #quote-dialog .q-contact .q-field:first-child{margin-top:0}
 #quote-dialog .q-contact input{min-height:44px;margin-top:5px;padding:8px 13px}
 #quote-dialog .q-contact .q-field-note{margin-top:6px;line-height:1.35}
 #quote-dialog:has(.q-contact) .q-preview-note{padding:10px 13px;margin-top:12px;line-height:1.4}
 #quote-dialog:has(.q-contact) .q-answer-summary{margin-top:12px}
 #quote-dialog:has(.q-contact) .q-navigation{margin-top:16px;padding-top:12px}
}

/* A Studio quote begins with the actual design, before unanswered store details. */
#quote-dialog .q-studio-recap{padding:24px;background:#f4f2e8;border-radius:3px;display:flow-root;margin-top:24px}
#quote-dialog .q-studio-recap>img{float:right;width:110px;height:138px;object-fit:cover;margin:0 0 18px 20px}
#quote-dialog .q-studio-recap>strong{font:400 24px var(--serif,Georgia,serif)}
#quote-dialog .q-studio-recap>p{margin:12px 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#quote-dialog .q-studio-recap>p:nth-of-type(n+3){font-size:12px;color:#59665c}
#quote-dialog .q-studio-recap .allodia-action{margin-top:10px;padding-left:0}
@media(max-width:480px){#quote-dialog .q-studio-recap{padding:18px}#quote-dialog .q-studio-recap>img{width:74px;height:96px;margin-left:14px}}
