/* R61 — modal polish, campaign dialog repairs, saved builds centering, comments/thread cleanup */

/* Remove the pale corner blobs / edge artifacts the user flagged on modal shells. */
.ts-modal-shell-r56::before,
.ts-modal-shell-r57::before,
.ts-dialog-shell-r51::before,
.saved-builds-hub-r52::before,
.saved-builds-hub-r56::before{display:none!important;content:none!important}

/* Global dialog guardrails: center better, prevent left/right scroll, keep vertical scroll only. */
dialog.ts-dialog,
dialog.ts-modal-r56,
dialog.ts-modal-r57{overflow-x:hidden!important}

/* Saved builds modal is a deliberate exception: center it and give the home cards room. */
.saved-builds-hub-r52,
.saved-builds-hub-r56{width:min(1180px,calc(100vw - 40px))!important;max-width:1180px!important;max-height:calc(100dvh - 34px)!important;overflow-y:auto!important;overflow-x:hidden!important}
.saved-builds-hub-r52[open],
.saved-builds-hub-r56[open]{position:fixed!important;inset:0!important;margin:auto!important}
.dialog-ts-link-status-r60{display:none!important}
.saved-builds-hub-r52 .saved-library-choice-grid-r56,
.saved-builds-hub-r56 .saved-library-choice-grid-r56{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.saved-builds-hub-r52 .saved-library-choice-r56,
.saved-builds-hub-r56 .saved-library-choice-r56{grid-template-columns:170px minmax(0,1fr) 44px!important;min-height:172px!important;padding:18px!important;gap:18px!important}
.saved-builds-hub-r52 .saved-library-choice-image-r56,
.saved-builds-hub-r56 .saved-library-choice-image-r56{width:170px!important;height:130px!important}
.saved-builds-hub-r52 .saved-library-choice-r56 strong,
.saved-builds-hub-r56 .saved-library-choice-r56 strong{font-size:24px!important;line-height:1.05!important}
.saved-builds-hub-r52 .saved-library-choice-r56 em,
.saved-builds-hub-r56 .saved-library-choice-r56 em{font-size:15px!important;line-height:1.45!important}
.saved-builds-hub-r52 .saved-library-lake-r56,
.saved-builds-hub-r56 .saved-library-lake-r56{height:92px!important;margin-top:18px!important}
@media (max-width:860px){
  .saved-builds-hub-r52,
  .saved-builds-hub-r56{width:calc(100vw - 18px)!important;max-height:calc(100dvh - 18px)!important}
  .saved-builds-hub-r52 .saved-library-choice-grid-r56,
  .saved-builds-hub-r56 .saved-library-choice-grid-r56{grid-template-columns:1fr!important}
  .saved-builds-hub-r52 .saved-library-choice-r56,
  .saved-builds-hub-r56 .saved-library-choice-r56{grid-template-columns:136px minmax(0,1fr) 38px!important;min-height:154px!important;padding:14px!important;gap:12px!important}
  .saved-builds-hub-r52 .saved-library-choice-image-r56,
  .saved-builds-hub-r56 .saved-library-choice-image-r56{width:136px!important;height:112px!important}
}
@media (max-width:640px){
  .saved-builds-hub-r52 .saved-library-choice-r56,
  .saved-builds-hub-r56 .saved-library-choice-r56{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important}
  .saved-builds-hub-r52 .saved-library-choice-r56>span:nth-child(2),
  .saved-builds-hub-r56 .saved-library-choice-r56>span:nth-child(2){text-align:center!important}
}

/* Image assistant needs to be an exception modal with a wider, calmer layout. */
.image-search-dialog-r60{width:min(1220px,calc(100vw - 28px))!important;max-width:1220px!important;max-height:calc(100dvh - 28px)!important;padding:0!important;overflow:hidden!important}
.image-search-dialog-r60 .image-search-shell-r60{max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:26px 26px 24px!important}
.image-search-dialog-r60 .image-search-head-r60{padding:20px 76px 18px!important}
.image-search-dialog-r60 .image-search-toolbar-r60{display:grid!important;grid-template-columns:minmax(280px,.95fr) minmax(230px,.9fr) minmax(230px,.9fr)!important;gap:16px!important;align-items:end!important}
.image-search-dialog-r60 .image-search-current-r60{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;grid-template-areas:"image text" "image button"!important;align-items:center!important;gap:10px 14px!important;padding:16px!important}
.image-search-dialog-r60 .image-search-current-r60 img{grid-area:image!important;width:92px!important;height:92px!important;object-fit:contain!important}
.image-search-dialog-r60 .image-search-current-r60>div{grid-area:text!important;min-width:0!important}
.image-search-dialog-r60 .image-search-current-r60 [data-image-use-current]{grid-area:button!important;justify-self:start!important;margin-top:4px!important}
.image-search-dialog-r60 .image-search-results-head-r60{align-items:center!important;gap:14px!important}
.image-search-dialog-r60 .image-candidate-grid-r60{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important;gap:14px!important}
.image-search-dialog-r60 .image-candidate-r23{display:grid!important;grid-template-rows:auto auto 1fr auto!important;align-content:start!important}
.image-search-dialog-r60 .image-candidate-r23 img{height:148px!important;object-fit:contain!important}
.image-search-dialog-r60 .image-candidate-r23 button{margin-top:12px!important}
@media (max-width:980px){
  .image-search-dialog-r60 .image-search-toolbar-r60{grid-template-columns:1fr!important}
}

/* Product admin modal heading centered. */
.product-admin-dialog-r60>.eyebrow,
.product-admin-dialog-r60>h2,
.product-admin-dialog-r60>p{text-align:center!important}
.product-admin-dialog-r60>h2{max-width:640px!important;margin:0 auto 6px!important}
.product-admin-dialog-r60>p{max-width:650px!important;margin:0 auto 14px!important}

/* Thread / full-thread modals: wider, consistent, cleaner nesting. */
.creator-social-thread-dialog-r57,
.deal-thread-dialog-r48,
.question-thread-dialog-r50,
.thread-modal-r50{width:min(980px,calc(100vw - 28px))!important;max-width:980px!important}
.creator-social-thread-dialog-body-r57,
.deal-thread-dialog-body-r48,
.question-thread-dialog-body-r50,
.thread-modal-body-r50{max-height:calc(100dvh - 220px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:8px!important}
.creator-social-thread-dialog-r57 [data-thread-close],
.deal-thread-dialog-r48 .btn.subtle:last-child,
.question-thread-dialog-r50 .btn.subtle:last-child,
.thread-modal-r50 .btn.subtle:last-child{display:flex!important;justify-content:center!important;align-items:center!important;min-width:180px!important;margin:18px auto 0!important}
.creator-social-thread-tree-r57,
.deal-thread-tree-r48,
.question-thread-tree-r50,
.thread-modal-tree-r50{display:grid!important;gap:14px!important}
.creator-social-thread-item-r57,
.deal-thread-card-r48,
.question-thread-card-r50,
.thread-modal-card-r50{width:100%!important;max-width:none!important}
.creator-social-thread-children-r57,
.deal-thread-children-r48,
.question-thread-children-r50,
.thread-modal-children-r50{margin:12px 0 0 18px!important;padding-left:14px!important;border-left:2px solid #7ad3f1!important;display:grid!important;gap:12px!important}
.creator-social-thread-connector-r57,
.deal-thread-connector-r48,
.question-thread-connector-r50,
.thread-modal-connector-r50{display:none!important}
.creator-social-thread-item-r57 .creator-social-comment-actions-r57 a,
.deal-thread-card-r48 .thread-actions-r48 a,
.question-thread-card-r50 .thread-actions-r50 a,
.thread-modal-card-r50 .thread-actions-r50 a,
.creator-social-comments-r57 .creator-social-comment-actions-r57 a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:0 14px!important;border-radius:999px!important;font-weight:800!important;background:#eef8ff!important;border:1px solid #cde6f2!important;color:#0876c7!important;text-decoration:none!important}
.creator-social-thread-item-r57 .creator-social-comment-actions-r57 a:last-child,
.deal-thread-card-r48 .thread-actions-r48 a:last-child,
.question-thread-card-r50 .thread-actions-r50 a:last-child,
.thread-modal-card-r50 .thread-actions-r50 a:last-child,
.creator-social-comments-r57 .creator-social-comment-actions-r57 a:last-child{color:#cb4242!important;background:#fff5f5!important;border-color:#f0cbcb!important}
.creator-social-thread-item-r57 blockquote,
.deal-thread-card-r48 blockquote,
.question-thread-card-r50 blockquote,
.thread-modal-card-r50 blockquote{margin:0 0 10px!important;padding:10px 14px!important;border-left:3px solid #7ad3f1!important;border-radius:12px!important;background:#f3fbff!important;color:#335877!important}
.creator-social-comments-r57{max-width:960px!important;margin-inline:auto!important}
.creator-social-comments-r57 .creator-social-comments-head-r57{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;text-align:center!important}
.creator-social-comments-r57 .creator-social-comments-head-r57>*{margin:0!important}
.creator-social-comments-r57 .creator-social-comment-card-r57{max-width:100%!important}
.creator-social-comments-r57 .creator-social-comment-form-r57{max-width:780px!important;margin-inline:auto!important}
.creator-social-comments-r57 .creator-social-comment-form-r57 textarea{min-height:74px!important}

/* Build-like-me follow modal cleanup. */
.creator-follow-dialog-r57 .ts-modal-shell-r57,
.creator-follow-dialog-r57 .ts-modal-head-r57{overflow:hidden!important}

/* Campaign builder modal is a deliberate exception: make it wider, less cramped, and avoid x-overflow. */
.campaign-dialog-r56{width:min(1160px,calc(100vw - 28px))!important;max-width:1160px!important;max-height:calc(100dvh - 28px)!important}
.campaign-dialog-r56 .campaign-builder-shell-r56{max-height:calc(100dvh - 28px)!important;padding:24px 28px 24px!important;overflow-y:auto!important;overflow-x:hidden!important}
.campaign-dialog-r56 .campaign-builder-head-r56{padding:0 54px!important}
.campaign-dialog-r56 .campaign-placement-grid-r56{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.campaign-dialog-r56 .campaign-placement-card-r56{min-height:156px!important;align-content:start!important}
.campaign-dialog-r56 .campaign-placement-card-r56>strong{font-size:19px!important}
.campaign-dialog-r56 .campaign-placement-card-r56>small{font-size:14px!important;line-height:1.42!important}
.campaign-dialog-r56 .campaign-details-layout-r56{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr)!important;gap:18px!important}
.campaign-dialog-r56 .campaign-details-form-r56{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:18px!important}
.campaign-dialog-r56 .campaign-details-form-r56>label:first-child,
.campaign-dialog-r56 .campaign-details-form-r56>label:last-child,
.campaign-dialog-r56 .campaign-date-grid-r56{grid-column:1/-1!important}
.campaign-dialog-r56 .campaign-wallet-r56{padding:16px!important}
.campaign-dialog-r56 .campaign-creative-layout-r56{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr)!important;gap:18px!important}
.campaign-dialog-r56 .campaign-fit-options-r56{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.campaign-dialog-r56 .campaign-fit-options-r56 label{min-height:120px!important;padding:16px 14px!important}
.campaign-dialog-r56 .campaign-crop-focus-r56{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.campaign-dialog-r56 .campaign-preview-column-r56,
.campaign-dialog-r56 .campaign-site-preview-r56{position:sticky!important;top:0!important;min-width:0!important;overflow:hidden!important}
.campaign-dialog-r56 .campaign-review-layout-r56{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)!important;gap:18px!important}
.campaign-dialog-r56 .campaign-review-stack-r56 dl{grid-template-columns:130px minmax(0,1fr)!important;gap:8px 10px!important}
.campaign-dialog-r56 .campaign-review-creative-r56{grid-template-columns:220px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
.campaign-dialog-r56 .campaign-review-creative-r56>img{width:220px!important;max-height:140px!important}
.campaign-dialog-r56 .campaign-policy-r56 .check,
.campaign-dialog-r56 .campaign-policy-r56 label,
.campaign-detail-dialog-r60 .ad-nonrefund-r36{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:start!important;gap:12px!important}
.campaign-dialog-r56 .campaign-policy-r56 input[type="checkbox"],
.campaign-detail-dialog-r60 .ad-nonrefund-r36 input[type="checkbox"]{width:20px!important;height:20px!important;margin:2px 0 0!important}
@media (max-width:980px){
  .campaign-dialog-r56{width:calc(100vw - 18px)!important}
  .campaign-dialog-r56 .campaign-builder-head-r56{padding:0 42px!important}
  .campaign-dialog-r56 .campaign-details-layout-r56,
  .campaign-dialog-r56 .campaign-creative-layout-r56,
  .campaign-dialog-r56 .campaign-review-layout-r56{grid-template-columns:1fr!important}
  .campaign-dialog-r56 .campaign-preview-column-r56,
  .campaign-dialog-r56 .campaign-site-preview-r56{position:static!important;margin-inline:auto!important;max-width:720px!important}
}
@media (max-width:700px){
  .campaign-dialog-r56 .campaign-placement-grid-r56,
  .campaign-dialog-r56 .campaign-details-form-r56,
  .campaign-dialog-r56 .campaign-date-grid-r56,
  .campaign-dialog-r56 .campaign-fit-options-r56,
  .campaign-dialog-r56 .campaign-crop-focus-r56{grid-template-columns:1fr!important}
  .campaign-dialog-r56 .campaign-review-creative-r56{grid-template-columns:1fr!important}
  .campaign-dialog-r56 .campaign-review-creative-r56>img{width:100%!important}
}

/* Campaign delivery modal also needs room and better form spacing. */
.campaign-detail-dialog-r60{width:min(1020px,calc(100vw - 28px))!important;max-width:1020px!important;max-height:calc(100dvh - 28px)!important}
.campaign-detail-dialog-r60 .campaign-detail-head-r60{padding:22px 68px 18px!important}
.campaign-detail-dialog-r60 .campaign-detail-body-r60{max-height:calc(100dvh - 210px)!important;padding:20px 28px 26px!important;overflow-y:auto!important;overflow-x:hidden!important}
.campaign-detail-dialog-r60 .campaign-detail-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.campaign-detail-dialog-r60 .campaign-detail-grid>div{display:grid!important;align-content:start!important;min-height:132px!important;padding:16px!important;border-radius:16px!important;background:#fbfdff!important;border:1px solid #d8e6ef!important}
.campaign-detail-dialog-r60 [data-campaign-budget-form]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:18px!important}
.campaign-detail-dialog-r60 [data-campaign-budget-form]>label{display:grid!important;gap:6px!important}
.campaign-detail-dialog-r60 [data-campaign-budget-form]>label:nth-of-type(1),
.campaign-detail-dialog-r60 [data-campaign-budget-form]>label:nth-of-type(2),
.campaign-detail-dialog-r60 [data-campaign-budget-form] .ad-nonrefund-r36,
.campaign-detail-dialog-r60 [data-campaign-budget-form]>.btn{grid-column:1/-1!important}
.campaign-detail-dialog-r60 .campaign-edit-form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;gap:12px!important;align-items:end!important;margin-top:18px!important;padding:16px!important;border:1px solid #d8e6ef!important;border-radius:16px!important;background:#fbfdff!important}
.campaign-detail-dialog-r60 .campaign-edit-form>label{display:grid!important;gap:6px!important}
.campaign-detail-dialog-r60 .campaign-edit-form button{min-height:48px!important;padding-inline:22px!important}
@media (max-width:860px){
  .campaign-detail-dialog-r60{width:calc(100vw - 18px)!important}
  .campaign-detail-dialog-r60 .campaign-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .campaign-detail-dialog-r60 .campaign-edit-form{grid-template-columns:1fr!important}
}
@media (max-width:620px){
  .campaign-detail-dialog-r60 .campaign-detail-grid,
  .campaign-detail-dialog-r60 [data-campaign-budget-form]{grid-template-columns:1fr!important}
}

/* Small utility: thread close buttons and card actions can wrap instead of forcing overflow. */
.creator-social-comment-actions-r57,
.thread-actions-r48,
.thread-actions-r50{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
