/* Popups públicos: acabamento grafite, vinho e laranja da marca. */
.site-dialog {
    width: min(980px, calc(100% - 32px));
    max-height: min(90vh, 900px);
    border: 1px solid rgba(112, 43, 44, .28);
    border-radius: 8px;
    background: #f6f5f1;
    box-shadow: 0 32px 96px rgba(9, 19, 24, .48);
    overflow: hidden;
}
.site-dialog::backdrop { background: rgba(8, 18, 24, .76); backdrop-filter: blur(7px); }
.dialog-head {
    min-height: 76px;
    padding: 18px 26px;
    border-bottom: 4px solid #e97835;
    background: #302d2d;
    color: #fff;
}
.dialog-head h2 { font-size: 1.1rem; font-weight: 850; letter-spacing: .01em; }
.dialog-close {
    width: 40px;
    height: 40px;
    border-color: rgba(255,255,255,.26);
    border-radius: 7px;
    background: rgba(255,255,255,.08);
    color: #fff;
    transition: background-color .18s ease, transform .18s ease;
}
.dialog-close:hover { background: #7f3032; transform: rotate(3deg); }
.dialog-close:focus-visible { outline: 3px solid #f3a475; outline-offset: 3px; }
.dialog-body { max-height: calc(90vh - 76px); padding: 0; background: #f6f5f1; }
.modal-loading { min-height: 260px; color: #7f3032; font-weight: 750; }

.dialog-body .detail-hero { display:block; max-width:none; margin:0; padding:clamp(28px, 5vw, 48px); background:#fff; }
.dialog-body .detail-hero .eyebrow,
.dialog-body .request-intro .eyebrow,
.dialog-body .request-form-panel .eyebrow { color:#d85d22; }
.dialog-body .detail-hero h1 { max-width:760px; margin:10px 0 14px; color:#17242a; font-family:Georgia, "Times New Roman", serif; font-size:clamp(2.1rem, 5vw, 3.75rem); line-height:1; letter-spacing:0; }
.dialog-body .detail-hero > div:first-child > p:not(.eyebrow):not(.detail-byline) { max-width:720px; color:#52616b; line-height:1.75; }
.dialog-body .detail-byline { color:#7f3032; }
.dialog-body .detail-hero .button { min-height:50px; margin-top:10px; border-radius:6px; background:#7f3032; color:#fff; box-shadow:0 14px 30px rgba(127,48,50,.2); }
.dialog-body .detail-hero .button:hover { background:#642729; }
.dialog-body .detail-gallery { margin-top:28px; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
.dialog-body .detail-gallery img { aspect-ratio:4/3; border:1px solid #e3d8d2; border-radius:6px; box-shadow:0 10px 22px rgba(41,30,30,.12); }
.dialog-body .detail-info { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:none; margin:0; padding:26px clamp(28px, 5vw, 48px) 34px; background:#f0ece7; }
.dialog-body .detail-info > div { display:block; min-height:92px; padding:16px; border:1px solid #ded5ce; border-top:3px solid #7f3032; border-radius:6px; background:#fff; }
.dialog-body .detail-info span { color:#7a6c66; font-size:.72rem; font-weight:850; letter-spacing:.04em; }
.dialog-body .detail-info strong { margin-top:8px; color:#1f2b30; font-size:1rem; }
.dialog-body .section { padding:34px clamp(28px, 5vw, 48px); background:#fff; }
.dialog-body .section h2 { color:#1d2d32; font-family:Georgia, "Times New Roman", serif; }

.dialog-body .request-intro { padding:clamp(28px, 5vw, 48px); background:#302d2d; color:#f8f7f3; }
.dialog-body .request-intro h1 { max-width:680px; margin:8px 0 14px; color:#fff; font-family:Georgia, "Times New Roman", serif; font-size:clamp(2rem, 4.8vw, 3.4rem); line-height:1.04; letter-spacing:0; }
.dialog-body .request-intro > p:not(.eyebrow) { max-width:710px; color:#e3d9d2; line-height:1.7; }
.dialog-body .selected-artist { display:grid; gap:7px; max-width:640px; margin-top:26px; padding:18px; border:1px solid rgba(239, 124, 50, .52); border-left:4px solid #ef7c32; border-radius:6px; background:rgba(255,255,255,.08); }
.dialog-body .selected-artist span { color:#f5b181; font-size:.72rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.dialog-body .selected-artist strong { color:#fff; font-size:1.15rem; }
.dialog-body .selected-artist small { color:#e6ded8; }
.dialog-body .selected-artist b { color:#ffcfab; }
.dialog-body .request-form-panel { padding:clamp(28px, 5vw, 48px); background:#fff; }
.dialog-body .request-form-panel .section-head h2 { color:#1c2a2f; font-family:Georgia, "Times New Roman", serif; font-size:clamp(1.8rem, 4vw, 2.6rem); }
.dialog-body .request-form-panel .grid-form { gap:16px; }
.dialog-body .request-form-panel label { color:#28383d; font-size:.86rem; }
.dialog-body .request-form-panel input,
.dialog-body .request-form-panel textarea { border-color:#d8d2cd; border-radius:6px; background:#fcfbf9; }
.dialog-body .request-form-panel input:focus,
.dialog-body .request-form-panel textarea:focus { border-color:#7f3032; outline:3px solid rgba(127,48,50,.14); }
.dialog-body .request-form-panel .button { min-height:52px; border-radius:6px; background:#7f3032; }
.dialog-body .request-privacy { padding-top:16px; color:#6f7877; font-size:.84rem; }
.dialog-body .request-success { display:grid; gap:12px; border:1px solid #cddfd8; border-left:4px solid #0e5d58; border-radius:6px; background:#eff7f4; }

@media (max-width:600px) {
    .site-dialog { width:calc(100% - 18px); max-height:94vh; }
    .dialog-head { min-height:68px; padding:14px 16px; }
    .dialog-body { max-height:calc(94vh - 68px); }
    .dialog-body .detail-info { grid-template-columns:1fr; padding:20px 18px 24px; }
    .dialog-body .detail-hero,
    .dialog-body .request-intro,
    .dialog-body .request-form-panel { padding:26px 18px; }
}
@media (prefers-reduced-motion:reduce) { .dialog-close { transition:none; } }
/* Capa do trabalho no dialog: sempre a primeira foto, antes do titulo. */
.dialog-body .detail-hero { padding:0; }
.dialog-body .detail-cover { margin:0; border:0; border-radius:0; background:#1b292d; }
.dialog-body .detail-cover img { display:block; width:100%; aspect-ratio:16/7; object-fit:cover; }
.dialog-body .detail-copy { max-width:none; padding:clamp(28px, 5vw, 48px); background:#fff; }
.dialog-body .detail-copy > p:not(.eyebrow):not(.detail-byline) { max-width:720px; color:#52616b; line-height:1.75; }
.dialog-body .detail-copy .detail-gallery { margin-top:28px; }
@media(max-width:600px){ .dialog-body .detail-cover img { aspect-ratio:16/10; } .dialog-body .detail-copy { padding:26px 18px; } }
/* Resumo robusto do trabalho escolhido para orçamento. */
.dialog-body .selected-work-summary { display:grid; grid-template-columns:132px minmax(0,1fr); gap:16px; max-width:720px; margin-top:28px; overflow:hidden; border:1px solid rgba(239,124,50,.58); border-left:4px solid #ef7c32; border-radius:7px; background:rgba(255,255,255,.08); box-shadow:0 15px 30px rgba(0,0,0,.16); }
.dialog-body .selected-work-summary > img { display:block; width:132px; height:132px; object-fit:cover; }
.dialog-body .selected-work-summary > div { display:grid; align-content:center; gap:6px; min-width:0; padding:16px 16px 16px 0; }
.dialog-body .selected-work-summary span { color:#f5b181; font-size:.72rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.dialog-body .selected-work-summary strong { overflow-wrap:anywhere; color:#fff; font-size:1.35rem; line-height:1.12; }
.dialog-body .selected-work-summary small { color:#e6ded8; }
.dialog-body .selected-work-summary b { color:#ffcfab; }
@media(max-width:600px){ .dialog-body .selected-work-summary { grid-template-columns:96px minmax(0,1fr); gap:12px; } .dialog-body .selected-work-summary > img { width:96px; height:112px; } .dialog-body .selected-work-summary > div { padding:12px 12px 12px 0; } .dialog-body .selected-work-summary strong { font-size:1.08rem; } }