.supplier-reputation { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .8rem; margin:.65rem 0; color:#48566b; font-size:.8rem; line-height:1.6; }
.supplier-reputation>span { display:inline-flex; align-items:center; gap:.3rem; }
.supplier-reputation>span:last-child { display:block; }
.verified-supplier-card>.supplier-reputation { grid-column:2; font-size:.75rem; }
.supplier-reputation .new-supplier-badge { background:#e7f4f2; color:#185e58; border:1px solid #b6dcd6; border-radius:6px; padding:.15rem .5rem; font-weight:600; }
.supplier-rating .bi-star-fill { color:#9c6b0e; }
.sponsored-section { margin:1.5rem 0 2.25rem; }
.sponsored-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem; margin-bottom:1rem; }
.sponsored-heading h2 { font-size:1.25rem; margin:0; }
.sponsored-heading>span, .promotion-fine-print { color:#59677a; font-size:.85rem; }
.sponsored-label { font-size:.75rem; font-weight:600; color:#364d73; letter-spacing:.015em; }
.sponsored-banner-grid, .sponsored-priority-grid { display:grid; gap:1rem; }
.sponsored-banner-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); margin-bottom:1rem; }
.sponsored-banner { border:1px solid #d5dfe9; border-radius:12px; overflow:hidden; background:#fff; }
.sponsored-banner a { display:grid; grid-template-columns:minmax(180px,40%) minmax(0,1fr); text-decoration:none; color:inherit; }
.sponsored-banner img { display:block; width:100%; height:100%; max-height:220px; object-fit:contain; background:#f3f6fa; }
.sponsored-banner a>div { padding:1.15rem; }
.sponsored-banner h3 { font-size:1.2rem; line-height:1.4; margin:.45rem 0; }
.sponsored-banner p { font-size:.9rem; color:#48566b; }
.sponsored-cta { color:#213b7b; font-weight:600; font-size:.9rem; }
.sponsored-priority-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sponsored-priority-card { border:1px solid #c3d3e2; border-top:3px solid #213b7b; border-radius:10px; padding:1.25rem; background:#fff; min-width:0; }
.sponsored-card-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.sponsored-priority-card h3 { font-size:1.1rem; overflow-wrap:anywhere; }
.sponsored-priority-card p { margin:.5rem 0; font-size:.9rem; }
.sponsored-priority-card .supplier-reputation { display:grid; gap:.35rem; }
.sponsored-priority-card .btn { margin-top:.7rem; }
.promotion-request-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:2rem; align-items:start; }
.promotion-form { display:grid; gap:.65rem; }
.promotion-form label, .promotion-inline-form label { font-size:.875rem; font-weight:600; }
.promotion-form input:not([type=hidden]), .promotion-form textarea, .promotion-form select,
.promotion-inline-form input:not([type=hidden]):not([type=checkbox]), .promotion-inline-form select,
.order-review-form select, .order-review-form textarea { width:100%; min-height:44px; padding:.65rem .75rem; border:1px solid #bac6d6; border-radius:6px; background:#fff; color:#1a2940; }
.promotion-form input[type=file] { padding:.6rem; }
.promotion-form small { line-height:1.6; color:#59677a; }
.promotion-date-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.promotion-date-grid>div { display:grid; gap:.5rem; }
.promotion-form>.btn { justify-self:start; margin-top:1rem; }
.promotion-explainer { background:#f3f6fa; padding:1.5rem; border-radius:10px; line-height:1.8; }
.promotion-explainer h2 { font-size:1.2rem; }
.promotion-explainer li { padding-bottom:.75rem; }
.promotion-explainer p { font-size:.9rem; }
.promotion-booking { margin:1.25rem 0; }
.promotion-booking>header { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.promotion-booking h2 { font-size:1.3rem; margin:.5rem 0; overflow-wrap:anywhere; }
.promotion-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.promotion-facts dt { font-size:.8rem; color:#59677a; }
.promotion-facts dd { margin:.25rem 0; overflow-wrap:anywhere; }
.promotion-artwork-preview { display:block; max-width:320px; width:100%; max-height:180px; object-fit:contain; background:#f3f6fa; margin:1rem 0; }
.promotion-admin-actions { display:grid; gap:1rem; border-top:1px solid #dce3ed; padding-top:1rem; }
.promotion-inline-form { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; }
.promotion-inline-form input:not([type=hidden]):not([type=checkbox]), .promotion-inline-form select { width:auto; flex:1 1 160px; max-width:100%; }
.promotion-inline-form .check-row { display:flex; align-items:center; gap:.5rem; }
.promotion-inline-form .check-row input { width:20px; height:20px; flex:none; }
.promotion-booking form small { display:block; margin-top:.5rem; }
.promotion-note { padding:.75rem; background:#f3f6fa; }
.reputation-admin-row { margin:1rem 0 1.5rem; }
.reputation-admin-row h3 { font-size:1.1rem; }
.reputation-admin-row h3 small { color:#59677a; font-weight:400; }
.supplier-public-reviews { margin-top:1.5rem; }
.supplier-public-review { padding:1rem 0; border-bottom:1px solid #dce3ed; }
.supplier-public-review p { white-space:pre-wrap; overflow-wrap:anywhere; }
.supplier-public-review small { display:block; color:#59677a; margin:.4rem 0; }
.order-review-form { display:grid; gap:.75rem; }
.promotion-form :focus-visible, .promotion-inline-form :focus-visible, .sponsored-section a:focus-visible,
.order-review-form :focus-visible { outline:3px solid #4067ae; outline-offset:3px; }
.sponsored-priority-card, .promotion-booking, .promotion-form, .reputation-admin-row { overflow-wrap:anywhere; }
@media(max-width:767px) {
    .sponsored-priority-grid { grid-template-columns:1fr; }
    .promotion-request-layout, .promotion-date-grid, .promotion-facts { grid-template-columns:1fr; }
    .promotion-booking>header { flex-direction:column; }
    .promotion-inline-form { align-items:stretch; flex-direction:column; }
    .promotion-inline-form input:not([type=hidden]):not([type=checkbox]), .promotion-inline-form select { width:100%; flex:none; }
    .promotion-inline-form>.btn { width:100%; }
    .sponsored-heading>span { max-width:36ch; }
    .sponsored-banner a { grid-template-columns:1fr; }
    .sponsored-banner img { height:auto; aspect-ratio:5/2; }
}
