/* ──────────────────────────────────────────────────────────────────
   DROIX — Contact page. Hero, message form (topic pills + success
   state), support sidebar, other ways, FAQ, social band. Light DROIX.
   ────────────────────────────────────────────────────────────────── */
.ct-main-wrap { max-width: 1320px; margin: 0 auto; padding: 0 32px 24px; }
@media (max-width: 760px) { .ct-main-wrap { padding: 0 16px; } }

.ct-crumb { display: flex; align-items: center; gap: 8px; font-family: var(--font-body); font-size: 13px; color: var(--fg-4); margin: 20px 0 0; }
.ct-crumb a { color: var(--fg-4); text-decoration: none; } .ct-crumb a:hover { color: var(--droix-green-dark); }
.ct-crumb .here { color: var(--fg-2); font-weight: 600; }

/* hero */
.ct-hero { background: linear-gradient(150deg, var(--droix-green-tint), var(--bg-2) 72%); border: 1px solid var(--stroke-1); border-radius: var(--radius-2xl); padding: 40px 44px; margin: 14px 0 8px; }
.ct-hero .eyebrow { font-family: var(--font-ui); font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--droix-green-dark); }
.ct-hero h1 { font-family: var(--font-ui); font-weight: 700; font-size: clamp(32px, 4vw, 46px); color: var(--fg-1); margin: 10px 0 0; letter-spacing: -0.02em; }
.ct-hero .lead { font-family: var(--font-body); font-size: 16px; line-height: 1.55; color: var(--fg-3); margin: 12px 0 0; max-width: 60ch; }
.ct-stats { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.ct-stat { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid var(--stroke-2); border-radius: var(--radius-pill); padding: 8px 14px; font-family: var(--font-body); font-size: 13px; color: var(--fg-3); }
.ct-stat b { color: var(--fg-1); } .ct-stat svg { color: var(--droix-green-dark); }

/* main grid */
.ct-main { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; align-items: start; margin-top: 24px; }
@media (max-width: 900px) { .ct-main { grid-template-columns: 1fr; } }

.ct-card { background: #fff; border: 1px solid var(--stroke-1); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); }
.ct-card-pad { padding: 26px; }
.ct-card h2 { font-family: var(--font-ui); font-weight: 700; font-size: 20px; color: var(--fg-1); margin: 0; }
.ct-card .desc { font-family: var(--font-body); font-size: 14px; line-height: 1.55; color: var(--fg-4); margin: 8px 0 20px; }

/* topics */
.ct-flabel { display: block; font-family: var(--font-body); font-size: 12.5px; font-weight: 600; color: var(--fg-3); margin-bottom: 10px; }
.ct-topics { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 18px; }
.ct-topic { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: var(--radius-pill); border: 1px solid var(--stroke-2); background: #fff; cursor: pointer; font-family: var(--font-body); font-size: 13px; font-weight: 600; color: var(--fg-3); }
.ct-topic:hover { border-color: var(--droix-green); color: var(--droix-green-dark); }
.ct-topic.on { background: var(--droix-green-tint); border-color: var(--droix-green); color: var(--droix-green-dark); }

/* form */
.ct-form { display: flex; flex-direction: column; gap: 16px; }
.ct-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .ct-grid2 { grid-template-columns: 1fr; } }
.ct-field { display: flex; flex-direction: column; gap: 6px; }
.ct-field label { font-family: var(--font-body); font-size: 12.5px; font-weight: 600; color: var(--fg-3); }
.ct-field .opt { color: var(--fg-5); font-weight: 400; }
.ct-input, .ct-select, .ct-textarea { border: 1px solid var(--stroke-3); border-radius: var(--radius-md); padding: 0 14px; font-family: var(--font-body); font-size: 14px; color: var(--fg-1); background: #fff; outline: none; }
.ct-input, .ct-select { height: 46px; }
.ct-textarea { padding: 12px 14px; min-height: 120px; resize: vertical; line-height: 1.5; }
.ct-input:focus, .ct-select:focus, .ct-textarea:focus { border-color: var(--droix-green); box-shadow: 0 0 0 3px var(--droix-green-tint); }
.ct-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.ct-consent { font-family: var(--font-body); font-size: 12px; line-height: 1.5; color: var(--fg-5); margin: 0; max-width: 38ch; }
.ct-consent a { color: var(--droix-green-dark); }
.ct-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 50px; padding: 0 26px; border-radius: var(--radius-lg); border: 0; cursor: pointer; font-family: var(--font-ui); font-size: 15px; font-weight: 700; background: var(--droix-green); color: #1c2400; box-shadow: var(--shadow-cta); white-space: nowrap; }
.ct-btn:hover { background: var(--droix-green-dark); color: #fff; }
.ct-btn.secondary { background: #fff; color: var(--fg-2); border: 1px solid var(--stroke-3); box-shadow: none; height: 44px; font-size: 13.5px; }
.ct-btn.secondary:hover { background: var(--bg-2); color: var(--fg-1); }

/* success */
.ct-success { text-align: center; padding: 36px 24px; }
.ct-success .badge { width: 64px; height: 64px; border-radius: 50%; background: var(--droix-green); color: #1c2400; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.ct-success h2 { font-size: 24px; margin-bottom: 8px; }
.ct-success p { font-family: var(--font-body); font-size: 15px; line-height: 1.55; color: var(--fg-4); margin: 0 auto 18px; max-width: 46ch; }
.ct-recap { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 22px; }
.ct-recap .chip { display: inline-flex; align-items: center; gap: 6px; background: var(--bg-2); border-radius: var(--radius-pill); padding: 7px 13px; font-family: var(--font-body); font-size: 12.5px; color: var(--fg-3); }

/* sidebar */
.ct-side { display: flex; flex-direction: column; gap: 18px; }
.ct-chan { padding: 22px; }
.ct-chan-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.ct-chan-ic { width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--droix-green-tint); color: var(--droix-green-dark); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.ct-chan-head .t { font-family: var(--font-ui); font-weight: 700; font-size: 15px; color: var(--fg-1); }
.ct-chan-head .s { font-family: var(--font-body); font-size: 12.5px; color: var(--fg-4); margin-top: 1px; }
.ct-rows { display: flex; flex-direction: column; gap: 0; margin-bottom: 14px; }
.ct-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--stroke-1); }
.ct-row:last-child { border-bottom: 0; }
.ct-row .k { font-family: var(--font-body); font-size: 13px; color: var(--fg-4); }
.ct-row .v { font-family: var(--font-body); font-size: 13.5px; font-weight: 600; color: var(--fg-1); text-align: right; }
.ct-row .v.mono { color: var(--droix-green-dark); text-decoration: none; }
.ct-live { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; font-family: var(--font-body); font-size: 12.5px; font-weight: 600; color: var(--success); }
.ct-live .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 3px rgba(109,165,68,0.2); }
.ct-chan .ct-btn { width: 100%; height: 44px; font-size: 14px; }
.ct-quick .h { font-family: var(--font-ui); font-weight: 700; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--fg-4); padding: 18px 22px 4px; }
.ct-qlinks { padding: 4px 12px 12px; }
.ct-qlink { display: flex; align-items: center; gap: 11px; padding: 11px 10px; border-radius: var(--radius-md); font-family: var(--font-body); font-size: 14px; font-weight: 500; color: var(--fg-2); text-decoration: none; cursor: pointer; }
.ct-qlink:hover { background: var(--bg-2); color: var(--droix-green-dark); }
.ct-qlink svg:first-child { color: var(--droix-green-dark); }
.ct-qlink .arr { margin-left: auto; color: var(--fg-5); }

/* sections */
.ct-sec { margin-top: 48px; }
.ct-sec-head { margin-bottom: 22px; }
.ct-sec-eyebrow { font-family: var(--font-ui); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--droix-green-dark); }
.ct-sec-h { font-family: var(--font-ui); font-weight: 700; font-size: clamp(24px, 2.6vw, 30px); color: var(--fg-1); margin: 8px 0 0; letter-spacing: -0.01em; }
.ct-sec-sub { font-family: var(--font-body); font-size: 14.5px; color: var(--fg-4); margin: 6px 0 0; }

/* other ways */
.ct-ways { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ct-way { padding: 24px 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; text-decoration: none; transition: transform .16s ease, border-color .16s ease; }
.ct-way:hover { transform: translateY(-3px); border-color: var(--droix-green); }
.ct-way .ic { width: 46px; height: 46px; border-radius: var(--radius-md); background: var(--droix-green-tint); color: var(--droix-green-dark); display: flex; align-items: center; justify-content: center; margin-bottom: 4px; }
.ct-way b { font-family: var(--font-ui); font-size: 15.5px; color: var(--fg-1); }
.ct-way p { font-family: var(--font-body); font-size: 13px; line-height: 1.5; color: var(--fg-4); margin: 0; }
.ct-way .lnk { display: inline-flex; align-items: center; gap: 5px; margin-top: auto; padding-top: 8px; font-family: var(--font-body); font-size: 13px; font-weight: 600; color: var(--droix-green-dark); }
@media (max-width: 900px) { .ct-ways { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .ct-ways { grid-template-columns: 1fr; } }

/* location */
.ct-locgrid { display: grid; grid-template-columns: 1.1fr 1fr; overflow: hidden; }
.ct-map { position: relative; min-height: 280px; background: linear-gradient(160deg, #e9efe0, #f3f6ea); overflow: hidden; }
.ct-map .road { position: absolute; background: #fff; opacity: 0.8; }
.ct-map .r1 { top: 30%; left: -10%; right: -10%; height: 14px; transform: rotate(-8deg); }
.ct-map .r2 { top: 0; bottom: 0; left: 38%; width: 12px; transform: rotate(6deg); }
.ct-map .r3 { top: 64%; left: -10%; right: -10%; height: 10px; transform: rotate(4deg); }
.ct-pin { position: absolute; top: 44%; left: 46%; }
.ct-pin .ring { position: absolute; inset: -16px; border-radius: 50%; background: rgba(176,203,31,0.3); animation: ctPulse 2.4s ease-out infinite; }
@keyframes ctPulse { 0% { transform: scale(0.6); opacity: 0.8; } 100% { transform: scale(1.6); opacity: 0; } }
.ct-pin .glyph { position: relative; width: 40px; height: 40px; border-radius: 50%; background: var(--droix-green); color: #1c2400; display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-md); }
.ct-addr { padding: 30px 32px; }
.ct-addr h3 { font-family: var(--font-ui); font-weight: 700; font-size: 22px; color: var(--fg-1); margin: 8px 0 12px; }
.ct-addr .line { font-family: var(--font-body); font-size: 14.5px; line-height: 1.6; color: var(--fg-3); margin: 0 0 16px; }
.ct-addr .meta { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.ct-addr .it { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-body); font-size: 13px; color: var(--fg-4); }
.ct-addr .it svg { color: var(--droix-green-dark); }
@media (max-width: 720px) { .ct-locgrid { grid-template-columns: 1fr; } .ct-map { min-height: 200px; } }

/* faq */
.ct-faq { display: flex; flex-direction: column; gap: 10px; }
.ct-qa { background: #fff; border: 1px solid var(--stroke-1); border-radius: var(--radius-lg); box-shadow: var(--shadow-xs); overflow: hidden; }
.ct-qa .q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 20px; border: 0; background: transparent; cursor: pointer; font-family: var(--font-ui); font-weight: 600; font-size: 15px; color: var(--fg-1); text-align: left; }
.ct-qa .chev { color: var(--fg-4); transition: transform .2s ease; flex: 0 0 auto; }
.ct-qa.open .chev { transform: rotate(180deg); }
.ct-qa .a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.ct-qa.open .a { grid-template-rows: 1fr; }
.ct-qa .a-in { overflow: hidden; }
.ct-qa .a-in p { font-family: var(--font-body); font-size: 14px; line-height: 1.6; color: var(--fg-3); margin: 0; padding: 0 20px 18px; }

/* social band */
.ct-social { margin-top: 48px; background: var(--bg-dark); border-radius: var(--radius-3xl); padding: 40px 44px; }
.ct-social-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ct-social h2 { font-family: var(--font-ui); font-weight: 700; font-size: 26px; color: #fff; margin: 0 0 6px; }
.ct-social p { font-family: var(--font-body); font-size: 14.5px; color: rgba(255,255,255,0.6); margin: 0; max-width: 44ch; }
.ct-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.ct-soc { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: var(--radius-md); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); color: #fff; font-family: var(--font-body); font-size: 13.5px; font-weight: 600; text-decoration: none; cursor: pointer; }
.ct-soc:hover { background: rgba(176,203,31,0.16); border-color: rgba(176,203,31,0.5); }
.ct-soc svg { color: var(--droix-green); }

/* ════════════════════════════════════════════════════════════════
   DROIX theme port: the form is the site's Contact Form 7 form
   rendered inside .ct-formcard. Map CF7's controls onto the DROIX
   input/button look, and size the server-rendered inline <svg> icons.
   ════════════════════════════════════════════════════════════════ */
.ct-formcard { padding: 26px; }
.ct-formcard .wpcf7 { margin: 0; }
.ct-formcard .wpcf7-form > p { margin: 0 0 16px; display: flex; flex-direction: column; gap: 6px; font-family: var(--font-body); font-size: 12.5px; font-weight: 600; color: var(--fg-3); }
.ct-formcard label { font-family: var(--font-body); font-size: 12.5px; font-weight: 600; color: var(--fg-3); display: flex; flex-direction: column; gap: 6px; }
.ct-formcard input.wpcf7-form-control:not([type="submit"]),
.ct-formcard select.wpcf7-form-control,
.ct-formcard textarea.wpcf7-form-control {
	width: 100%; box-sizing: border-box; border: 1px solid var(--stroke-3); border-radius: var(--radius-md);
	padding: 0 14px; height: 46px; font-family: var(--font-body); font-size: 14px; color: var(--fg-1);
	background: #fff; outline: none; font-weight: 400;
}
.ct-formcard textarea.wpcf7-form-control { padding: 12px 14px; min-height: 120px; height: auto; resize: vertical; line-height: 1.5; }
.ct-formcard input.wpcf7-form-control:not([type="submit"]):focus,
.ct-formcard select.wpcf7-form-control:focus,
.ct-formcard textarea.wpcf7-form-control:focus { border-color: var(--droix-green); box-shadow: 0 0 0 3px var(--droix-green-tint); }
.ct-formcard input.wpcf7-submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 50px; padding: 0 28px;
	border-radius: var(--radius-lg); border: 0; cursor: pointer; font-family: var(--font-ui); font-size: 15px; font-weight: 700;
	background: var(--droix-green); color: #1c2400; box-shadow: var(--shadow-cta); width: auto;
}
.ct-formcard input.wpcf7-submit:hover { background: var(--droix-green-dark); color: #fff; }
.ct-formcard .wpcf7-spinner { margin: 0 0 0 10px; }
.ct-formcard .wpcf7-response-output { border-radius: var(--radius-md); margin: 14px 0 0; font-family: var(--font-body); font-size: 13.5px; }

/* server-rendered inline <svg> icon sizing (not Lucide <i>) */
.ct-stat svg, .ct-crumb svg, .ct-row svg, .ct-live svg { width: 15px; height: 15px; flex: 0 0 auto; }
.ct-crumb svg { width: 14px; height: 14px; color: var(--fg-5); }
.ct-chan-ic svg { width: 22px; height: 22px; }
.ct-qlink svg { width: 18px; height: 18px; flex: 0 0 auto; }
.ct-qlink .arr { width: 16px; height: 16px; }
.ct-way .ic svg { width: 22px; height: 22px; }
.ct-way .lnk svg { width: 14px; height: 14px; }
.ct-addr .it svg, .ct-sec-sub svg { width: 16px; height: 16px; flex: 0 0 auto; }
.ct-pin .glyph svg { width: 20px; height: 20px; }
.ct-qa .chev svg { width: 18px; height: 18px; }
.ct-soc svg { width: 17px; height: 17px; }

/* live-chat / button icons + hide the duplicate theme breadcrumb */
.ct-btn svg { width: 16px; height: 16px; flex: 0 0 auto; }
body.droix-contact .rank-math-breadcrumb,
body.droix-contact nav.woocommerce-breadcrumb { display: none; }

/* ── real Google Maps iframe (replaces the mock CSS map) ── */
.ct-locgrid .ct-map { min-height: 300px; padding: 0; }
.ct-locgrid .ct-map iframe { display: block; width: 100%; height: 100%; min-height: 300px; border: 0; }
@media (max-width: 720px) { .ct-locgrid .ct-map iframe { min-height: 220px; } }

/* ════════════════════════════════════════════════════════════════
   Contact Form 7 form, restyled to the DROIX design (.ct-cf7).
   Field controls carry class:ct-input / class:ct-textarea so the
   .ct-input / .ct-textarea design rules above apply directly.
   ════════════════════════════════════════════════════════════════ */
.ct-cf7 { display: flex; flex-direction: column; gap: 16px; }
.ct-cf7 .ct-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.ct-cf7 .ct-field label { font-family: var(--font-body); font-size: 12.5px; font-weight: 600; color: var(--fg-3); }
.ct-cf7 .ct-field .opt { color: var(--fg-5); font-weight: 400; }
.ct-cf7 .ct-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .ct-cf7 .ct-grid2 { grid-template-columns: 1fr; } }
.ct-cf7 .ct-input, .ct-cf7 .ct-textarea { width: 100%; box-sizing: border-box; }
.ct-cf7 .wpcf7-not-valid-tip { font-size: 12px; color: var(--danger); margin-top: 4px; }
.ct-cf7 .wpcf7-spinner { margin: 0 0 0 10px; }

/* topic pills (CF7 radio) */
.ct-cf7 .ct-flabel { display: block; font-family: var(--font-body); font-size: 12.5px; font-weight: 600; color: var(--fg-3); margin-bottom: -4px; }
.ct-topics .wpcf7-form-control.wpcf7-radio { display: flex; flex-wrap: wrap; gap: 9px; }
.ct-topics .wpcf7-list-item { margin: 0; }
.ct-topics .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: var(--radius-pill); border: 1px solid var(--stroke-2); background: #fff; cursor: pointer; font-family: var(--font-body); font-size: 13px; font-weight: 600; color: var(--fg-3); transition: border-color .14s, color .14s, background .14s; }
.ct-topics .wpcf7-list-item label:hover { border-color: var(--droix-green); color: var(--droix-green-dark); }
.ct-topics input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }
.ct-topics .wpcf7-list-item label:has(input:checked) { background: var(--droix-green-tint); border-color: var(--droix-green); color: var(--droix-green-dark); }
.ct-topics .wpcf7-list-item-label { line-height: 1; }
/* pill icons (option order: General, Product, Shipping, My order, Warranty, Customisation) */
.ct-topics .wpcf7-list-item label::before { content: ""; width: 15px; height: 15px; flex: 0 0 auto; background: currentColor; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.ct-topics .wpcf7-list-item:nth-child(1) label { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.ct-topics .wpcf7-list-item:nth-child(2) label { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Crect x='9' y='9' width='6' height='6'/%3E%3Cpath d='M15 2v2M9 2v2M15 20v2M9 20v2M20 9h2M20 15h2M2 9h2M2 15h2'/%3E%3C/svg%3E"); }
.ct-topics .wpcf7-list-item:nth-child(3) label { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E"); }
.ct-topics .wpcf7-list-item:nth-child(4) label { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M3.3 7 12 12l8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E"); }
.ct-topics .wpcf7-list-item:nth-child(5) label { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.ct-topics .wpcf7-list-item:nth-child(6) label { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='21' x2='14' y1='4' y2='4'/%3E%3Cline x1='10' x2='3' y1='4' y2='4'/%3E%3Cline x1='21' x2='12' y1='12' y2='12'/%3E%3Cline x1='8' x2='3' y1='12' y2='12'/%3E%3Cline x1='21' x2='16' y1='20' y2='20'/%3E%3Cline x1='12' x2='3' y1='20' y2='20'/%3E%3Cline x1='14' x2='14' y1='2' y2='6'/%3E%3Cline x1='8' x2='8' y1='10' y2='14'/%3E%3Cline x1='16' x2='16' y1='18' y2='22'/%3E%3C/svg%3E"); }

/* turnstile + footer (consent left, submit right) */
.ct-cf7 .ct-turnstile { margin: 2px 0; }
.ct-cf7 .ct-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.ct-cf7 .ct-consent { font-family: var(--font-body); font-size: 12px; line-height: 1.5; color: var(--fg-5); margin: 0; max-width: 40ch; }
.ct-cf7 .ct-consent a { color: var(--droix-green-dark); }
.ct-cf7 input.ct-btn, .ct-cf7 .wpcf7-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 50px; padding: 0 26px; border-radius: var(--radius-lg); border: 0; cursor: pointer; font-family: var(--font-ui); font-size: 15px; font-weight: 700; background: var(--droix-green); color: #1c2400; box-shadow: var(--shadow-cta); width: auto; }
.ct-cf7 input.ct-btn:hover, .ct-cf7 .wpcf7-submit:hover { background: var(--droix-green-dark); color: #fff; }
