/*
Theme Name:        DS Trade Master
Theme URI:         https://dossisdigital.com.au
Description:       Library-composed WordPress trade site. Built from the Dossis component library (~/component-library/). Tokens live in tokens.json — run `php ~/component-library/tokens/build-css.php tokens.json > tokens.css` to regenerate. Components are loaded via the ds_component() dispatcher; pages contain only ds_component() calls, never raw HTML.
Author:            Dossis Digital
Author URI:        https://dossisdigital.com.au
Template:          generatepress
Version:           0.1.0
License:           Proprietary
Text Domain:       ds-trade-child
*/

/* This file is loaded by WordPress for the theme header. All actual styles
   come from the library + the generated tokens.css. Override site-specific
   tweaks below — but if you find yourself overriding the same thing in
   three sites, open an issue on the component library instead. */

/* ── JC lead form (injected via ds_hero_form / ds_contact_form) ──────────── */
.jc-quote{ background:#fff; border-radius:14px; padding:1.5rem; box-shadow:0 24px 60px -18px rgba(0,0,0,.5); display:flex; flex-direction:column; gap:.6rem; max-width:400px; }
/* On the contact page the section already provides the card (form-wrap), so the
   form fills it edge to edge instead of nesting a second floating card. */
.jc-quote--contact{ background:transparent; box-shadow:none; border:0; border-radius:0; padding:0; max-width:none; }
.jc-quote__h{ margin:0; font-family:var(--ds-heading); font-weight:700; color:var(--ds-primary); font-size:1.125rem; }
.jc-quote__s{ margin:.1rem 0 .5rem; font-size:.875rem; color:var(--ds-neutral-body); }
.jc-quote__ok{ margin:0 0 .4rem; padding:.6rem .8rem; border-radius:8px; background:color-mix(in srgb, var(--ds-accent) 18%, #fff); color:var(--ds-brand-accent-800); font-size:.875rem; font-weight:600; }
.jc-quote__err{ margin:0 0 .4rem; padding:.6rem .8rem; border-radius:8px; background:#FDECEA; color:#8A1F11; font-size:.875rem; font-weight:600; }
.jc-f{ padding:.78rem .9rem; border:1.5px solid var(--ds-neutral-line); border-radius:8px; font:inherit; font-size:.92rem; color:var(--ds-neutral-ink); background:#fff; }
.jc-f:focus{ outline:2px solid var(--ds-accent); outline-offset:1px; border-color:var(--ds-accent); }
.jc-quote .ds-btn{ justify-content:center; width:100%; }
.jc-quote__fine{ font-size:.875rem; color:var(--ds-neutral-muted, #6A6378); text-align:center; }
.jc-quote__hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ── Lead-form fields: bordered pill + left icon + floating label ──────────
   Ported from B.E Electrical's location-page fields; token-driven so it takes
   JC's palette (navy focus/label). */
.jc-field{ position:relative; display:block; }
.jc-field__icon{ position:absolute; left:0.85rem; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--ds-muted); pointer-events:none; }
.jc-field__icon svg{ width:100%; height:100%; display:block; }
.jc-field input,
.jc-field select{ width:100%; height:56px; border:1px solid #7b797f; border-radius:var(--ds-radius-md); font:inherit; color:var(--ds-dark); background:var(--ds-bg-elevated); }
.jc-field input{ padding:1.15rem 0.9rem 0.35rem 2.5rem; }
.jc-field select{ padding:0 2.2rem 0 2.5rem; -webkit-appearance:none; appearance:none; }
.jc-field__label{ position:absolute; left:2.5rem; top:50%; transform:translateY(-50%); color:var(--ds-muted); font-size:1rem; pointer-events:none; transition:top .15s ease, font-size .15s ease, color .15s ease; }
.jc-field input:focus ~ .jc-field__label,
.jc-field input:not(:placeholder-shown) ~ .jc-field__label{ top:0.5rem; transform:none; font-size:0.875rem; color:var(--ds-primary); }
.jc-field input:focus,
.jc-field select:focus{ outline:none; border-color:var(--ds-primary); box-shadow:0 0 0 3px color-mix(in srgb, var(--ds-primary) 15%, transparent); }
.jc-field input:focus ~ .jc-field__icon,
.jc-field input:not(:placeholder-shown) ~ .jc-field__icon{ color:var(--ds-primary); }
.jc-field--select::after{ content:""; position:absolute; right:1rem; top:50%; width:0.5rem; height:0.5rem; border-right:2px solid var(--ds-muted); border-bottom:2px solid var(--ds-muted); transform:translateY(-70%) rotate(45deg); pointer-events:none; }
.jc-field--select:focus-within .jc-field__icon{ color:var(--ds-primary); }
