/**
 * OBD Dynamics Growth System — public styles (enquiry form, signup,
 * campaign card, portal). Namespaced; never touches theme styles.
 */
.obdg-hp {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: -1px !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.obdg-pub { max-width: 620px; margin: 0 auto; font-size: 16px; color: #0d2438; }
.obdg-pub label { font-weight: 600; display: block; margin-bottom: 4px; }
.obdg-pub input[type="text"], .obdg-pub input[type="email"], .obdg-pub input[type="tel"],
.obdg-pub select, .obdg-pub textarea {
	width: 100%; padding: 12px 14px; border: 1px solid #c9dcec; border-radius: 12px;
	font-size: 16px; background: #fff; color: #0d2438; box-sizing: border-box;
}
.obdg-pub input:focus-visible, .obdg-pub select:focus-visible, .obdg-pub textarea:focus-visible,
.obdg-pub button:focus-visible, .obdg-pub a:focus-visible {
	outline: 3px solid rgba( 0, 207, 255, .45 ); outline-offset: 3px; border-color: #0097c7;
}
.obdg-pub textarea { resize: vertical; }
.obdg-pub-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 640px) { .obdg-pub-grid { grid-template-columns: 1fr; } }
.obdg-pub-consent { display: flex; align-items: flex-start; gap: 8px; min-height: 44px; }
.obdg-pub-consent label { display: flex; align-items: center; flex: 1; min-height: 44px; margin: 0; font-weight: 500; font-size: 14.5px; cursor: pointer; }
.obdg-pub-consent input[type="checkbox"] { width: 24px; height: 24px; min-width: 24px; min-height: 24px; margin: 10px 0 0; flex: 0 0 24px; }

/* Standalone public forms sit directly on OBD's dark storefront canvas. Keep
 * their labels, consent copy and controls intentionally legible instead of
 * inheriting a light-theme palette. Ticket cards below retain their own light
 * surface treatment. */
.obdg-pub-enquiry, .obdg-pub-signup, .obdg-pub-portal { color: #d8edf7; }
.obdg-pub-enquiry label, .obdg-pub-signup label, .obdg-pub-portal label { color: #d8edf7; }
.obdg-pub-enquiry input[type="text"], .obdg-pub-enquiry input[type="email"],
.obdg-pub-enquiry input[type="tel"], .obdg-pub-enquiry select, .obdg-pub-enquiry textarea,
.obdg-pub-signup input[type="text"], .obdg-pub-signup input[type="email"],
.obdg-pub-signup input[type="tel"], .obdg-pub-signup select, .obdg-pub-signup textarea {
	background: #101720; color: #f5fbff; border-color: #3b4c60;
}
.obdg-pub-enquiry input::placeholder, .obdg-pub-enquiry textarea::placeholder,
.obdg-pub-signup input::placeholder, .obdg-pub-signup textarea::placeholder { color: #9badc0; opacity: 1; }
.obdg-pub-enquiry select { color-scheme: dark; }
.obdg-pub-enquiry .obdg-pub-note { color: #b9cbd8; }

.obdg-pub-btn {
	display: inline-block; background: #0a6ed1; color: #fff !important; border: 0; cursor: pointer;
	padding: 13px 28px; border-radius: 999px; font-size: 16px; font-weight: 600; text-decoration: none;
}
.obdg-pub-btn:hover { background: #0d2438; }
.obdg-pub-btn:active { transform: translateY(1px); }
.obdg-pub-btn-ghost { background: transparent; color: #0a6ed1 !important; border: 2px solid #0a6ed1; }

.obdg-pub-success { background: #e6f5ec; color: #1c7c4a; border-radius: 12px; padding: 14px 18px; }
.obdg-pub-error { background: #fdeaea; color: #b3261e; border-radius: 12px; padding: 12px 16px; }
.obdg-pub-note { color: #5c6b78; font-style: italic; }

.obdg-pub-campaign {
	max-width: 620px; margin: 0 auto; background: #eef5fb; border: 1px solid #d8e4ee;
	border-left: 6px solid #0097c7; border-radius: 14px; padding: 18px 22px; color: #0d2438;
}
.obdg-pub-campaign-badge {
	display: inline-block; background: #0a6ed1; color: #fff; border-radius: 999px;
	padding: 3px 12px; font-size: 12.5px; letter-spacing: 1px; text-transform: uppercase;
}
.obdg-pub-campaign h3 { margin: 10px 0 4px; }
.obdg-pub-dates { color: #5c6b78; font-size: 14px; margin: 0 0 6px; }

/* Private support desk: authenticated ticket conversations, never WP comments. */
.obdg-support { max-width: 920px; }
.obdg-support__head {
	position: relative; overflow: hidden; margin-bottom: 22px; padding: clamp(24px, 5vw, 42px);
	border: 1px solid rgba(0,207,255,.35); border-radius: 24px; color: #f5fbff;
	background: radial-gradient(circle at 88% 18%, rgba(0,207,255,.28), transparent 34%),
		linear-gradient(145deg,#06141e,#0d3a55 64%,#071722);
	box-shadow: 0 24px 55px rgba(6,20,30,.22), inset 0 1px rgba(255,255,255,.08);
}
.obdg-support__head::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16;
	background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:28px 28px; }
.obdg-support__head > * { position: relative; z-index: 1; }
.obdg-support__head h2 { margin: 4px 0 10px; color: #fff; font-size: clamp(1.65rem,4vw,2.5rem); line-height:1.08; }
.obdg-support__head p:last-child { max-width: 680px; margin:0; color:#d8edf7; }
.obdg-support__eyebrow { margin:0; color:#75e8ff!important; font-size:.75rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.obdg-support__gate,.obdg-support__new,.obdg-support__mine { margin: 0 0 22px; padding: clamp(18px,4vw,28px); border:1px solid #d8e4ee; border-radius:18px; background:#fff; color:#0d2438; box-shadow:0 10px 30px rgba(13,36,56,.08); }
.obdg-support__gate h3,.obdg-support__mine h3 { margin-top:0; }
.obdg-support__new summary { cursor:pointer; color:#0d2438; font-size:1.15rem; font-weight:800; }
.obdg-support__new summary::marker { color:#0097c7; }
.obdg-support__verify-actions { display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px 18px; margin-top:18px; }
.obdg-support__verify-actions form { margin:0; }
.obdg-support__verify-form { display:flex; align-items:flex-end; gap:10px; }
.obdg-support__verify-form label { margin:0; color:#0d2438; }
.obdg-support__verify-form input[name="verification_code"] { width:9.5em; min-height:48px; margin-top:5px; text-align:center; letter-spacing:.28em; font-weight:800; font-variant-numeric:tabular-nums; }
.obdg-support__verify-actions .obdg-pub-btn { min-height:48px; white-space:nowrap; }
.obdg-support__form { display:grid; gap:16px; margin-top:20px; }
.obdg-support__form label,.obdg-support__reply label { color:#0d2438; }
.obdg-support__empty { margin-bottom:0; color:#5c6b78; }
.obdg-ticket { margin-top:12px; border:1px solid #d8e4ee; border-radius:16px; background:#fbfdff; overflow:hidden; }
.obdg-ticket[open] { box-shadow:0 10px 26px rgba(13,36,56,.09); }
.obdg-ticket > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; padding:16px 18px; list-style:none; }
.obdg-ticket > summary::-webkit-details-marker { display:none; }
.obdg-ticket > summary strong { color:#0d2438; }
.obdg-ticket > summary small { display:block; margin-top:4px; color:#5c6b78; }
.obdg-ticket__status { flex:0 0 auto; padding:5px 11px; border-radius:999px; font-size:.76rem; font-weight:800; }
.obdg-ticket__status--blue{background:#e7effc;color:#1d4ed8}.obdg-ticket__status--amber{background:#fdf3e0;color:#7b5108}.obdg-ticket__status--red{background:#fdeaea;color:#a61b16}.obdg-ticket__status--green{background:#e6f5ec;color:#17683e}.obdg-ticket__status--grey{background:#edf1f4;color:#495762}
.obdg-ticket__body { padding:0 18px 20px; border-top:1px solid #e6eef4; }
.obdg-ticket__meta { display:flex; flex-wrap:wrap; gap:10px 24px; margin:16px 0; }
.obdg-ticket__meta div { min-width:130px; }
.obdg-ticket__meta dt { color:#5c6b78; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.obdg-ticket__meta dd { margin:2px 0 0; color:#0d2438; font-weight:650; }
.obdg-ticket__thread { display:grid; gap:10px; }
.obdg-ticket__reply { max-width:82%; padding:13px 15px; border-radius:14px; }
.obdg-ticket__reply header { margin-bottom:6px; font-weight:800; color:#0d2438; }
.obdg-ticket__reply header time { margin-left:8px; color:#637785; font-size:.75rem; font-weight:500; }
.obdg-ticket__reply p { margin:0; white-space:normal; overflow-wrap:anywhere; }
.obdg-ticket__reply.is-customer { margin-left:auto; background:#e9f7fb; border:1px solid #bee6f1; }
.obdg-ticket__reply.is-staff { background:#f0f3f6; border:1px solid #d9e0e5; }
.obdg-support__reply { display:grid; gap:12px; margin-top:18px; padding-top:18px; border-top:1px solid #d8e4ee; }
.obdg-support__reply .obdg-pub-btn { justify-self:start; }
@media (max-width:640px){.obdg-ticket>summary{align-items:flex-start;flex-direction:column}.obdg-ticket__reply{max-width:94%}.obdg-support__gate .obdg-pub-btn{width:100%;text-align:center}.obdg-support__verify-actions,.obdg-support__verify-form{align-items:stretch;flex-direction:column;width:100%}.obdg-support__verify-actions form,.obdg-support__verify-form input[name="verification_code"]{width:100%}}
