/*! DKKForm v1.0.0 — presets + overlays. Every color comes from --dkkf-* variables set per form. */
.dkkf{--dkkf-accent:#1f6f5f;--dkkf-accent-text:#fff;--dkkf-bg:#fff;--dkkf-text:#1a1a1a;--dkkf-muted:#6b6b6b;--dkkf-radius:12px;--dkkf-font:inherit;--dkkf-line:color-mix(in srgb,var(--dkkf-text) 14%,transparent);
  position:relative;font-family:var(--dkkf-font);color:var(--dkkf-text);background:var(--dkkf-bg);border-radius:var(--dkkf-radius);box-sizing:border-box;line-height:1.4;font-size:1rem;margin:1.5em 0;text-align:left}
.dkkf *,.dkkf *::before,.dkkf *::after{box-sizing:border-box}
@media (prefers-color-scheme:dark){.dkkf.dkkf-dark-auto{--dkkf-bg:#1e1f23;--dkkf-text:#f2f1ec;--dkkf-muted:#a3a29a}}
.dkkf p{margin:0}
.dkkf .dkkf-eyebrow{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dkkf-accent);font-weight:600;margin:0 0 6px}
.dkkf .dkkf-h{font-size:1.35rem;line-height:1.2;font-weight:700;margin:0 0 8px;letter-spacing:-.01em;text-wrap:balance}
.dkkf .dkkf-sub{margin:0 0 14px;color:var(--dkkf-muted);font-size:.95rem;max-width:52ch}
.dkkf .dkkf-sub a,.dkkf .dkkf-note a,.dkkf .dkkf-consent a{color:inherit;text-decoration:underline}
.dkkf .dkkf-form{margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.dkkf .dkkf-field{flex:1 1 180px;min-width:0}
.dkkf .dkkf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dkkf input[type=email],.dkkf input[type=text],.dkkf select{width:100%;font:inherit;font-size:1rem;line-height:1.3;padding:11px 13px;margin:0;border:1px solid var(--dkkf-line);border-radius:calc(var(--dkkf-radius) * .6);background:color-mix(in srgb,var(--dkkf-bg) 92%,var(--dkkf-text) 8%);color:var(--dkkf-text);min-height:44px}
.dkkf input::placeholder{color:var(--dkkf-muted);opacity:1}
.dkkf input:focus-visible,.dkkf select:focus-visible,.dkkf .dkkf-btn:focus-visible,.dkkf .dkkf-close:focus-visible{outline:2px solid var(--dkkf-accent);outline-offset:2px}
.dkkf .dkkf-btn{flex:0 0 auto;font:inherit;font-weight:600;font-size:1rem;line-height:1.3;padding:11px 18px;margin:0;border:0;border-radius:calc(var(--dkkf-radius) * .6);background:var(--dkkf-accent);color:var(--dkkf-accent-text);cursor:pointer;white-space:nowrap;min-height:44px;text-transform:none;letter-spacing:0;box-shadow:none}
.dkkf .dkkf-btn:hover{filter:brightness(1.07)}
.dkkf .dkkf-btn[disabled]{opacity:.7;cursor:progress}
.dkkf .dkkf-note{flex-basis:100%;font-size:.78rem;color:var(--dkkf-muted);margin:4px 0 0}
.dkkf .dkkf-consent{flex-basis:100%;display:flex;gap:8px;align-items:flex-start;font-size:.84rem;color:var(--dkkf-muted);margin:2px 0 0;cursor:pointer;font-weight:400}
.dkkf .dkkf-consent input{margin:3px 0 0;flex:0 0 auto;accent-color:var(--dkkf-accent);width:16px;height:16px}
.dkkf .dkkf-choice{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.9rem;margin:0 0 4px;padding:0;border:0;min-width:0}
.dkkf .dkkf-choice legend{flex-basis:100%;font-size:.82rem;color:var(--dkkf-muted);padding:0;margin:0 0 2px;float:left;width:100%}
.dkkf .dkkf-choice label{display:inline-flex;gap:6px;align-items:center;cursor:pointer;font-weight:400;margin:0}
.dkkf .dkkf-choice input{accent-color:var(--dkkf-accent);margin:0}
.dkkf .dkkf-field-select label{display:block;font-size:.82rem;color:var(--dkkf-muted);margin:0 0 4px}
.dkkf .dkkf-hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.dkkf .dkkf-error{flex-basis:100%;font-size:.85rem;color:#b3261e;margin:2px 0 0}
.dkkf .dkkf-success{display:none}
.dkkf[data-state=success] .dkkf-form{display:none}
.dkkf[data-state=success] .dkkf-success{display:block}
.dkkf .dkkf-success .dkkf-h{margin-bottom:6px}
.dkkf .dkkf-success-body{color:var(--dkkf-muted)}
.dkkf .dkkf-hint{margin-top:10px;font-size:.84rem;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--dkkf-accent) 12%,transparent);color:var(--dkkf-text)}
.dkkf .dkkf-close{position:absolute;top:8px;right:8px;width:34px;height:34px;padding:0;margin:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--dkkf-text) 8%,transparent);color:var(--dkkf-text);cursor:pointer;font-size:1.25rem;line-height:1;z-index:1;display:grid;place-items:center;box-shadow:none}
.dkkf .dkkf-close:hover{background:color-mix(in srgb,var(--dkkf-text) 16%,transparent)}

/* preset: card */
.dkkf.dkkf-card{padding:22px 24px;border:1px solid var(--dkkf-line);box-shadow:0 1px 2px rgba(0,0,0,.04)}
/* preset: minimal */
.dkkf.dkkf-minimal{padding:18px 0;border-top:2px solid var(--dkkf-accent);border-bottom:1px solid var(--dkkf-line);border-radius:0;background:transparent}
.dkkf.dkkf-minimal .dkkf-h{font-size:1.2rem}
/* preset: bold — tinted panel (soft accent wash), solid accent button is the only loud element */
.dkkf.dkkf-bold{padding:28px;background:color-mix(in srgb,var(--dkkf-accent) 10%,var(--dkkf-bg));border:1px solid color-mix(in srgb,var(--dkkf-accent) 26%,transparent);--dkkf-line:color-mix(in srgb,var(--dkkf-accent) 30%,transparent)}
.dkkf.dkkf-bold .dkkf-eyebrow{color:color-mix(in srgb,var(--dkkf-accent) 70%,var(--dkkf-text))}
.dkkf.dkkf-bold .dkkf-h{font-size:1.6rem}
.dkkf.dkkf-bold input,.dkkf.dkkf-bold select{background:var(--dkkf-bg)}
/* preset: image_left */
.dkkf.dkkf-image_left{display:grid;grid-template-columns:minmax(120px,38%) 1fr;overflow:hidden;border:1px solid var(--dkkf-line)}
.dkkf.dkkf-image_left .dkkf-img{min-height:180px;background:color-mix(in srgb,var(--dkkf-accent) 12%,transparent);overflow:hidden;position:relative}
/* 1.1.4: plugin khác (Grow Social / Social Pug "pin it") bọc <img> trong div → div phải lấp khung, nút pin bị ẩn */
.dkkf.dkkf-image_left .dkkf-img>*:not(img){display:block;width:100%;height:100%;margin:0;max-width:none}
.dkkf .dpsp-pin-it-button,.dkkf .dpsp-pin-it-wrapper .dpsp-button{display:none!important}
.dkkf.dkkf-image_left .dkkf-img img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;object-position:50% 0}
.dkkf.dkkf-image_left .dkkf-img-top{grid-column:1 / -1;min-height:140px;max-height:220px}
.dkkf.dkkf-image_left .dkkf-body{padding:22px 24px;min-width:0}
@media (max-width:560px){.dkkf.dkkf-image_left{grid-template-columns:1fr}.dkkf.dkkf-image_left .dkkf-img{min-height:120px;max-height:180px}}
/* preset: bar */
.dkkf.dkkf-bar{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;padding:14px 18px;border:1px solid var(--dkkf-line);border-left:5px solid var(--dkkf-accent)}
.dkkf.dkkf-bar .dkkf-text{flex:1 1 240px;min-width:0}
.dkkf.dkkf-bar .dkkf-body{flex:1 1 300px;min-width:0}
.dkkf.dkkf-bar .dkkf-h{font-size:1.05rem;margin:0 0 2px}
.dkkf.dkkf-bar .dkkf-sub{margin:0;font-size:.88rem}
.dkkf.dkkf-bar .dkkf-note{display:none}
.dkkf.dkkf-bar .dkkf-eyebrow{display:none}
/* bar + close button: reserve the right edge so the × never sits on the submit button; centre it vertically on wide (one-row) bars */
.dkkf.dkkf-bar:has(>.dkkf-close){padding-right:58px}
@media (min-width:700px){.dkkf.dkkf-bar>.dkkf-close{top:50%;right:12px;transform:translateY(-50%)}}

/* inline wrapper */
.dkkf-inline-wrap{clear:both}
.dkkf-inline-wrap[hidden]{display:none}

/* overlay: popup */
.dkkf-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:99990;padding:16px;opacity:0;transition:opacity .2s ease-out}
.dkkf-overlay.dkkf-no-dim{background:transparent;pointer-events:none}
.dkkf-overlay.dkkf-no-dim .dkkf-popup{pointer-events:auto;box-shadow:0 16px 48px rgba(0,0,0,.25)}
.dkkf-overlay.dkkf-open{opacity:1}
.dkkf-popup{width:min(560px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;transform:scale(.97);transition:transform .2s ease-out}
.dkkf-size-sm .dkkf,.dkkf-popup.dkkf-size-sm{width:min(420px,100%)}
.dkkf-popup.dkkf-size-lg{width:min(760px,100%)}
.dkkf-overlay.dkkf-open .dkkf-popup{transform:none}
.dkkf-popup .dkkf{margin:0}
.dkkf-popup .dkkf.dkkf-minimal{background:var(--dkkf-bg);padding:24px;border-radius:var(--dkkf-radius)}
/* overlay: slide-in */
.dkkf-slidein{position:fixed;z-index:99989;width:min(380px,calc(100vw - 32px));bottom:max(16px,env(safe-area-inset-bottom,0px));right:max(16px,env(safe-area-inset-right,0px));box-shadow:0 12px 32px rgba(0,0,0,.18);border-radius:var(--dkkf-radius,12px);transform:translateY(24px);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out}
.dkkf-slidein.dkkf-pos-bottom_left{right:auto;left:max(16px,env(safe-area-inset-left,0px))}
.dkkf-slidein.dkkf-pos-bottom_bar{left:0;right:0;bottom:0;width:100%;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0px)}
.dkkf-slidein.dkkf-pos-bottom_bar .dkkf{border-radius:0;border-left:0;border-right:0;border-bottom:0}
.dkkf-slidein.dkkf-open{transform:none;opacity:1}
.dkkf-slidein .dkkf{margin:0}
.dkkf-slidein .dkkf.dkkf-minimal{background:var(--dkkf-bg);padding:20px;border:1px solid var(--dkkf-line)}
.dkkf-slidein .dkkf .dkkf-h{padding-right:32px}
/* ad-safe compact bar on mobile: stays under 30vh, above sticky ads */
.dkkf-slidein.dkkf-adsafe{overflow:hidden;z-index:99980}
.dkkf-slidein.dkkf-adsafe .dkkf-compact{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 44px 10px 14px}
.dkkf-slidein.dkkf-adsafe .dkkf-compact .dkkf-img,.dkkf-slidein.dkkf-adsafe .dkkf-compact .dkkf-eyebrow,.dkkf-slidein.dkkf-adsafe .dkkf-compact .dkkf-sub,.dkkf-slidein.dkkf-adsafe .dkkf-compact .dkkf-note{display:none}
.dkkf-slidein.dkkf-adsafe .dkkf-compact .dkkf-h{font-size:1rem;margin:0 0 4px;padding-right:0}
.dkkf-slidein.dkkf-adsafe .dkkf-compact .dkkf-body{flex:1 1 100%;padding:0}
.dkkf-slidein.dkkf-adsafe .dkkf-compact .dkkf-form{flex-wrap:nowrap}
.dkkf-slidein.dkkf-adsafe .dkkf-compact .dkkf-form .dkkf-consent,.dkkf-slidein.dkkf-adsafe .dkkf-compact .dkkf-form .dkkf-choice{flex-basis:100%}
@media (prefers-reduced-motion:reduce){.dkkf-overlay,.dkkf-popup,.dkkf-slidein{transition:none}}
