/* Hindustan Insights Core — structural styles only. The theme provides the
   visual design; these rules keep the plugin usable under any theme. */
.hi-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.hi-form__grid { display: grid; gap: 1rem 1.25rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.hi-field { display: flex; flex-direction: column; gap: .4rem; }
.hi-field--full { grid-column: 1 / -1; }
.hi-field--check { flex-direction: row; align-items: flex-start; gap: .75rem; margin-top: 1.25rem; flex-wrap: wrap; }
.hi-field--check input { margin-top: .3rem; width: 1.15rem; height: 1.15rem; flex: none; }
.hi-field--check label { flex: 1; min-width: 0; }
.hi-field--check .hi-field__error { flex-basis: 100%; }
.hi-field input:not([type="checkbox"]), .hi-field select, .hi-field textarea { font: inherit; width: 100%; box-sizing: border-box; min-height: 2.9rem; }
.hi-field__error { color: #ff8a8a; font-size: .9rem; margin: 0; }
.hi-notice { padding: 1rem 1.25rem; border-radius: 12px; border: 1px solid; margin-bottom: 1rem; }
.hi-notice p { margin: .25rem 0; }
.hi-notice--success { border-color: #3ddc97; background: rgba(61, 220, 151, .08); }
.hi-notice--error { border-color: #ff8a8a; background: rgba(255, 138, 138, .08); }
.hi-form__status:focus { outline: none; }
.hi-consent { position: fixed; z-index: 999; left: 1rem; right: 1rem; bottom: 1rem; max-width: 34rem; padding: 1.25rem 1.4rem; border-radius: 16px; background: #0f1626; color: #f4f7fb; border: 1px solid rgba(166, 177, 196, .3); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .8); }
.hi-consent[hidden] { display: none; }
.hi-consent__title { font-size: 1.05rem; margin: 0 0 .4rem; }
.hi-consent p { margin: 0 0 1rem; font-size: .95rem; }
.hi-consent__actions { display: flex; gap: .6rem; flex-wrap: wrap; }
.hi-float { position: fixed; z-index: 998; right: 1rem; bottom: 1.25rem; display: flex; flex-direction: column; gap: .7rem; }
.hi-float__btn { position: relative; display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border-radius: 50%; color: #fff; text-decoration: none; box-shadow: 0 12px 30px -10px rgba(0, 0, 0, .7); transition: transform .2s ease; }
.hi-float__btn:hover { transform: translateY(-2px); color: #fff; }
.hi-float__btn svg { width: 1.55rem; height: 1.55rem; }
.hi-float__btn--wa { background: #1fa855; }
.hi-float__btn--call { background: #12b5d6; }
.hi-float__label { position: absolute; right: calc(100% + .6rem); top: 50%; transform: translateY(-50%); white-space: nowrap; padding: .35rem .7rem; border-radius: 8px; background: #0f1626; color: #f4f7fb; font-size: .85rem; border: 1px solid rgba(166, 177, 196, .3); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.hi-float__btn:hover .hi-float__label, .hi-float__btn:focus-visible .hi-float__label { opacity: 1; }
@media (hover: none) { .hi-float__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); opacity: 1; padding: 0; border: 0; } }
.hi-wa-float { position: fixed; z-index: 998; right: 1.25rem; bottom: 1.25rem; width: 3.4rem; height: 3.4rem; border-radius: 50%; display: grid; place-items: center; background: #1fa855; color: #fff; box-shadow: 0 12px 30px -10px rgba(0, 0, 0, .6); }
.hi-wa-float svg { width: 1.7rem; height: 1.7rem; }
.hi-linklike { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
.hi-editor-note { padding: .9rem 1.1rem; border: 1px dashed currentColor; border-radius: 10px; font-size: .9rem; opacity: .85; margin: 1rem 0; }
