/* Sinful Secrets Trust Tools v0.2.5 */
.sstt-shell, .sstt-shell * { box-sizing: border-box; }
.sstt-shell { width: 100%; max-width: 1120px; margin: 0 auto; padding: 18px clamp(12px, 2.2vw, 24px) 48px; color: #ede5db; }
.sstt-hero, .sstt-card, .sstt-public-reviews {
    overflow: hidden; margin: 0 0 22px; padding: clamp(24px, 4vw, 42px); border: 1px solid rgba(201,168,255,.36); border-radius: 28px;
    background: radial-gradient(circle at 12% 0, rgba(138,77,255,.15), transparent 36%), linear-gradient(145deg, rgba(7,5,10,.96), rgba(18,8,28,.93)); box-shadow: 0 18px 48px rgba(0,0,0,.42);
}
.sstt-hero { text-align: center; }
.sstt-hero h1, .sstt-card h2, .sstt-public-reviews h2 { margin: 0 0 14px; color: #f7f1e8; font: 600 clamp(34px,5vw,58px)/1.08 "Cormorant Garamond", Georgia, serif; }
.sstt-hero p, .sstt-card p, .sstt-public-reviews p { color: #ede5db; }
.sstt-kicker { margin: 0 0 9px !important; color: #e7d8ff !important; font: 800 12px/1.2 Inter,sans-serif !important; letter-spacing: .18em; text-transform: uppercase; }
.sstt-form { display: grid; gap: 17px; }
.sstt-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.sstt-form label { display: grid; gap: 8px; min-width: 0; color: #f7f1e8; font-weight: 750; }
.sstt-form input, .sstt-form select, .sstt-form textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid rgba(201,168,255,.42); border-radius: 12px; background: rgba(4,3,8,.8); color: #f7f1e8; font: 16px/1.35 Inter,sans-serif; }
.sstt-form textarea { min-height: 145px; resize: vertical; }
.sstt-form small { color: #c5b9ca; font-weight: 500; line-height: 1.45; }
.sstt-check { grid-template-columns: auto 1fr !important; align-items: start; }
.sstt-check input { width: 21px; min-height: 21px; margin-top: 1px; accent-color: #8a4dff; }
.sstt-button, .sstt-review-link { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 22px; border: 1px solid #e7d8ff; border-radius: 999px; background: linear-gradient(135deg,#e7d8ff,#c9a8ff 52%,#8a4dff); color: #080509 !important; font-weight: 850; text-decoration: none; cursor: pointer; }
.sstt-notice { margin-bottom: 18px; padding: 14px 16px; border-left: 5px solid #c9a8ff; border-radius: 10px; background: rgba(201,168,255,.09); }
.sstt-notice.is-success { border-left-color: #62d79a; }.sstt-notice.is-error { border-left-color: #ef7770; }
.sstt-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.sstt-public-reviews { max-width: 1120px; margin: 30px auto; }
.sstt-public-reviews header { text-align: center; }
.sstt-review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin: 22px 0; }
.sstt-review-grid article { padding: 18px; border: 1px solid rgba(201,168,255,.28); border-radius: 15px; background: rgba(4,3,8,.62); }
.sstt-review-grid blockquote { margin: 10px 0; color: #ede5db; font-style: normal; line-height: 1.6; }
.sstt-stars { color: #e7d8ff !important; font-size: 20px; letter-spacing: .06em; }
.sstt-review-by { color: #c5b9ca !important; font-size: 13px; }
.sstt-evidence-off { display: grid; gap: 4px; padding: 14px; border: 1px dashed rgba(201,168,255,.45); border-radius: 12px; color: #ede5db; }
.sstt-evidence-off span { color: #c5b9ca; }
.sstt-report-list { display: grid; gap: 9px; }
.sstt-report-list > div { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 10px; padding: 12px; border: 1px solid rgba(201,168,255,.25); border-radius: 11px; }
.sstt-safety-search { grid-template-columns: minmax(220px,1fr) auto; align-items: end; margin: 20px 0; padding: 15px; border: 1px solid rgba(201,168,255,.28); border-radius: 14px; background: rgba(4,3,8,.42); }
.sstt-lookup-results { margin: 0 0 22px; padding: 16px; border: 1px solid rgba(201,168,255,.32); border-radius: 14px; background: rgba(4,3,8,.5); }
.sstt-lookup-results h3 { margin-top: 0; }
.sstt-lookup-results article { display: grid; gap: 5px; margin-top: 10px; padding: 13px; border-left: 4px solid #c9a8ff; background: rgba(201,168,255,.07); }

/* The safety form is mounted inside the member portal, so its controls inherit
 * the portal's generic grid styles. Prevent iOS date/select controls from using
 * their intrinsic width and escaping the card. */
.sstt-safety-card .ssmp-form-grid,
.sstt-safety-card .ssmp-form-grid > label {
    min-width: 0;
    max-width: 100%;
}
.sstt-safety-card .ssmp-form-grid :where(input, select) {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 52px;
    max-height: 52px;
    min-height: 52px;
    line-height: 1.35;
}
.sstt-safety-card .ssmp-form-grid input[type="date"] {
    appearance: auto;
    -webkit-appearance: auto;
    color-scheme: dark;
}
.sstt-safety-card .ssmp-form-grid input[type="date"]::-webkit-date-and-time-value {
    min-height: 24px;
    text-align: left;
}
.sstt-safety-card .ssmp-form-grid input[type="date"]::-webkit-calendar-picker-indicator {
    display: block;
    opacity: .9;
}
.sstt-safety-card .ssmp-form-grid select {
    padding: 12px 42px 12px 14px;
    text-indent: 0;
}
@media (max-width: 700px) {
    .sstt-grid,
    .sstt-review-grid,
    .sstt-safety-search,
    .sstt-safety-card .ssmp-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .sstt-report-list > div { grid-template-columns: 1fr; gap: 3px; }
    .sstt-public-reviews { margin-inline: 12px; padding: 22px 17px; border-radius: 20px; }
}
