:root{--enq-accent:#ff6600;--enq-dark:#111;--enq-navy:#1a1a2e;}
@keyframes enq-circle-draw{from{stroke-dashoffset:280;}to{stroke-dashoffset:0;}}
@keyframes enq-tick-draw{from{stroke-dashoffset:60;}to{stroke-dashoffset:0;}}
@keyframes enq-pop{0%{transform:scale(.6);opacity:0;}70%{transform:scale(1.1);}100%{transform:scale(1);opacity:1;}}
.enq-check-anim{animation:enq-pop .5s cubic-bezier(.175,.885,.32,1.275) forwards;}
.enq-check-circle{stroke-dasharray:280;stroke-dashoffset:280;stroke-linecap:round;animation:enq-circle-draw .65s ease forwards .05s;}
.enq-check-tick{stroke-dasharray:60;stroke-dashoffset:60;animation:enq-tick-draw .4s ease forwards .55s;}
/* Shortcode fancy success card */
@keyframes enq-fade-up{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes enq-confetti-fall{0%{transform:translateY(-10px) rotate(0deg);opacity:1;}100%{transform:translateY(120px) rotate(720deg);opacity:0;}}
/* ── Heartbeat expanding rings ─────────────────────────────────────── */
@keyframes enq-heartbeat{0%{transform:scale(1);opacity:.8;}60%{transform:scale(1.55);opacity:0;}100%{transform:scale(1.55);opacity:0;}}
@keyframes enq-heartbeat2{0%{transform:scale(1);opacity:.5;}60%{transform:scale(1.9);opacity:0;}100%{transform:scale(1.9);opacity:0;}}
@keyframes enq-heartbeat3{0%{transform:scale(1);opacity:.25;}60%{transform:scale(2.3);opacity:0;}100%{transform:scale(2.3);opacity:0;}}
/* ── Shortcode success card ────────────────────────────────────────────── */
.enq-sc-success{display:none;text-align:center;padding:44px 32px 36px;background:#111;border-radius:20px;box-shadow:0 12px 60px rgba(0,0,0,.55),0 0 0 2px rgba(255,102,0,.3);position:relative;overflow:hidden;}
.enq-sc-success::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,102,0,.07) 0%,transparent 65%);pointer-events:none;}
.enq-sc-success.enq-visible{display:block;}
/* V16.6.6 FIX: Blanket transparent override for shortcode success dark block */
.enq-sc-success :where(div,p,span,h4,label,small,strong,section){background:transparent !important;}
.enq-sc-success .enq-sc-ref{background:rgba(255,102,0,.12) !important;}
.enq-sc-success .enq-sc-cta{background:var(--enq-accent,#ff6600) !important;}
.enq-sc-success .enq-sc-share-btn{background:rgba(255,255,255,.12) !important;}
.enq-sc-success .enq-sc-copy-btn{background:#374151 !important;}
.enq-sc-success .enq-sc-li-btn{background:#0077b5 !important;}
.enq-sc-success .enq-sc-x-btn{background:#000 !important;}
.enq-sc-success .enq-sc-fb-btn{background:#1877f2 !important;}
.enq-sc-success .enq-sc-ig-btn{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) !important;}
.enq-sc-success .enq-sc-pin-btn{background:#e60023 !important;}
.enq-sc-success .enq-sc-email-btn{background:#374151 !important;}
.enq-sc-success .enq-sc-wa-btn{background:#25d366 !important;}
.enq-sc-success .enq-sc-wc-open-btn{background:#07c160 !important;}
/* ── Three-ring heartbeat behind checkmark ──────────────────────────────── */
.enq-check-wrap{position:relative;display:inline-block;margin-bottom:12px;}
.enq-check-pulse{position:absolute;inset:-14px;border-radius:50%;border:3px solid rgba(34,197,94,.65);animation:enq-heartbeat 2s ease-out infinite;}
.enq-check-pulse2{position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(34,197,94,.35);animation:enq-heartbeat2 2s ease-out .6s infinite;pointer-events:none;}
.enq-check-pulse3{position:absolute;inset:-14px;border-radius:50%;border:1.5px solid rgba(34,197,94,.15);animation:enq-heartbeat3 2s ease-out 1.1s infinite;pointer-events:none;}
.enq-sc-success .enq-check-anim{display:inline-block;position:relative;z-index:1;}
.enq-sc-success .enq-sc-title{font-size:24px;font-weight:800;color:#ff6600;margin:16px 0 8px;animation:enq-fade-up .5s ease both .6s;letter-spacing:-.3px;}
.enq-sc-success .enq-sc-sub{font-size:14px;color:#aaa;margin:0 0 20px;animation:enq-fade-up .5s ease both .75s;line-height:1.5;}
.enq-sc-success .enq-sc-ref{display:inline-block;background:rgba(255,102,0,.12);border:1.5px solid rgba(255,102,0,.35);border-radius:10px;padding:10px 24px;font-size:13px;color:#ff6600;letter-spacing:.05em;margin-bottom:24px;animation:enq-fade-up .5s ease both .9s;}
.enq-sc-success .enq-sc-ref strong{color:#ff6600;font-weight:800;}
.enq-sc-success .enq-sc-cta{display:inline-block;background:var(--enq-accent,#ff6600);color:#fff !important;text-decoration:none !important;padding:12px 30px;border-radius:8px;font-weight:700;font-size:14px;border:none;cursor:pointer;animation:enq-fade-up .5s ease both 1.05s;letter-spacing:.3px;}
.enq-sc-success .enq-sc-cta:hover{filter:brightness(1.12);transform:translateY(-1px);}
.enq-confetti-dot{position:absolute;width:9px;height:9px;border-radius:50%;pointer-events:none;animation:enq-confetti-fall 1.4s ease-in both;}
/* ── Share / connect section ────────────────────────────────────────────── */
.enq-sc-share-section{margin:20px 0 6px;border-top:1px solid rgba(255,255,255,.08);padding-top:20px;animation:enq-fade-up .5s ease both 1.1s;}
.enq-sc-share-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:#555;margin:0 0 14px;}
.enq-sc-share-grid{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-bottom:16px;}
.enq-sc-share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;border:1.5px solid transparent;text-decoration:none !important;transition:filter .18s,transform .15s;white-space:nowrap;color:#fff !important;}
.enq-sc-share-btn:hover{filter:brightness(1.12);transform:translateY(-1px);}
.enq-sc-copy-btn{background:transparent !important;color:#ff6600 !important;border-color:rgba(255,102,0,.5) !important;}
.enq-sc-copy-btn:hover{background:rgba(255,102,0,.12) !important;}
.enq-sc-copy-btn.copied{background:#ff6600 !important;color:#fff !important;border-color:#ff6600 !important;}
.enq-sc-li-btn{background:#0a66c2;}
.enq-sc-wa-btn{background:#25d366;}
.enq-sc-wc-btn{background:#07c160;}
.enq-sc-wc-open-btn{background:#07c160;color:#fff !important;display:inline-flex;align-items:center;gap:7px;border-color:transparent;}
.enq-sc-wc-open-btn:hover{filter:brightness(1.1);}
.enq-sc-x-btn{background:#1a1a1a;border-color:#333;}
.enq-sc-ig-btn{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}
.enq-sc-pin-btn{background:#e60023;}
.enq-sc-email-btn{background:transparent !important;color:#ff6600 !important;border-color:rgba(255,102,0,.35) !important;}
.enq-sc-email-btn:hover{background:rgba(255,102,0,.1) !important;}
.enq-sc-fb-btn{background:#1877f2;}
/* ── Follow-up boxes ──────────────────────────────────────────────── */
.enq-sc-follow-section{margin:10px 0 0;}
.enq-sc-follow-divider{display:flex;align-items:center;gap:10px;margin:16px 0 12px;}
.enq-sc-follow-divider::before,.enq-sc-follow-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08);}
.enq-sc-follow-divider-text{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:#555;white-space:nowrap;}
.enq-sc-wa-follow-box{background:rgba(37,211,102,.06);border:1.5px solid rgba(37,211,102,.25);border-radius:12px;padding:14px 16px;margin:0 0 8px;text-align:left;}
.enq-sc-wc-follow-box{background:rgba(7,193,96,.06);border:1.5px solid rgba(7,193,96,.25);border-radius:12px;padding:14px 16px;margin:0 0 8px;text-align:left;}
.enq-sc-follow-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:#555;margin:0 0 8px;}
.enq-sc-wc-id-display{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.enq-sc-wc-id-lbl{font-size:11px;color:#666;white-space:nowrap;font-weight:600;}
.enq-sc-wc-id-val{font-size:15px;font-weight:800;color:#07c160;flex:1;min-width:0;word-break:break-all;}
.enq-sc-wc-copy-mini{background:transparent;color:#07c160;border:1.5px solid rgba(7,193,96,.4);border-radius:7px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s;}
.enq-sc-wc-copy-mini:hover{background:rgba(7,193,96,.12);}
.enq-sc-wc-copy-mini.copied{background:#07c160;color:#fff;border-color:#07c160;}
.enq-sc-wc-hint{font-size:11px;color:#666;margin:0;line-height:1.4;}
/* V16.6.4 FIX: WC star-rating uses position:absolute + overflow:hidden inside a
 * position:relative container. When form.cart becomes a flex container (display:flex),
 * themes that render .woocommerce-product-rating inside form.cart lose the block
 * formatting context that the star fill-span relies on, collapsing visible stars to 0.
 * Explicit protective rules are added below to guarantee star display on all themes. */
/* V16.6.26: enq-btn-row is a PHP-rendered flex wrapper output by btn_single()
 * that wraps ONLY the ATC button and our Request Quote button — not the entire
 * form.cart. This avoids destroying the variations/stock/quantity layout. */
/* V16.6.27: Both ATC and Request Quote get flex:1 1 0 so they share
 * the row width equally regardless of their text content length. */
.enq-btn-row{display:flex !important;flex-flow:row nowrap !important;align-items:stretch !important;gap:8px !important;width:100% !important;margin-top:10px !important;}
.enq-btn-row .single_add_to_cart_button{flex:1 1 0 !important;min-width:0 !important;margin:0 !important;height:48px !important;white-space:nowrap !important;box-sizing:border-box !important;text-align:center !important;}
.enq-btn-row .enq-inline-btn{flex:1 1 0 !important;min-width:0 !important;margin:0 !important;height:48px !important;white-space:nowrap !important;text-align:center !important;justify-content:center !important;}
/* V16.6.12: Removed broken star-rating override block — those rules were
 * breaking WooCommerce review stars by overriding display:inherit on .stars a
 * (preventing JS init) and applying float:left to the fill span (breaking
 * width-based fill calculation). WooCommerce star CSS works correctly without
 * any plugin interference — do not add global .star-rating rules here. */
.enq-inline-btn{font-family:inherit !important;box-shadow:none !important;text-decoration:none !important;-webkit-appearance:none !important;appearance:none !important;outline:none !important;}
.enq-sticky-btn{font-family:inherit !important;text-decoration:none !important;-webkit-appearance:none !important;appearance:none !important;outline:none !important;}
.enq-inline-btn{background:var(--enq-dark) !important;color:#ff6600 !important;border:none !important;font-weight:700 !important;font-size:14px !important;cursor:pointer !important;border-radius:4px !important;min-width:140px !important;padding:0 20px !important;transition:background .25s,color .25s !important;}
.enq-inline-btn:hover{background:var(--enq-accent) !important;color:var(--enq-navy) !important;}
.enq-grid-btn{display:block !important;width:100% !important;height:44px !important;margin:8px 0 4px !important;padding:0 12px !important;background:var(--enq-dark) !important;color:#ff6600 !important;border:none !important;border-radius:4px !important;font-family:inherit !important;font-weight:800 !important;font-size:13px !important;cursor:pointer !important;transition:background .2s,color .2s !important;text-align:center !important;box-sizing:border-box !important;line-height:44px !important;}
.enq-grid-btn:hover,.enq-grid-btn:focus{background:var(--enq-accent) !important;color:var(--enq-navy) !important;}
/* Sticky RFQ button — orange outline + periodic pulse animation */
@keyframes enq-sticky-pulse{
    0%  {box-shadow:0 4px 20px rgba(0,0,0,.25),0 0 0 0   rgba(255,102,0,.70);}
    50% {box-shadow:0 4px 20px rgba(0,0,0,.25),0 0 0 10px rgba(255,102,0,.15);}
    100%{box-shadow:0 4px 20px rgba(0,0,0,.25),0 0 0 0   rgba(255,102,0,0);  }
}
.enq-sticky-btn{position:fixed;bottom:90px;right:30px;z-index:9999;background:var(--enq-dark);color:#ff6600;padding:12px 22px;border-radius:50px !important;cursor:pointer;border:2px solid #ff6600 !important;font-weight:700;font-size:14px;box-shadow:0 4px 20px rgba(0,0,0,.25);transition:background .25s,transform .2s,border-color .25s;animation:enq-sticky-pulse 3s ease-out infinite;}
.enq-sticky-btn:hover{background:var(--enq-accent);color:#000000 !important;border-color:var(--enq-accent) !important;transform:translateY(-3px);animation:none;}
/* M6 FIX: On mobile, raise sticky button above WooCommerce sticky add-to-cart bar
(which occupies bottom:0–60px). Also shrink padding on narrow screens. */
@media(max-width:768px){.enq-sticky-btn{bottom:90px !important;right:16px !important;padding:10px 16px;font-size:13px;}}
/* M7 FIX: Force 16px min font on all form inputs/selects to prevent iOS auto-zoom on focus */
@media(max-width:768px){.enq-field input,.enq-field select,.enq-field textarea{font-size:16px !important;}}
/* M8 FIX: Minimum 44×44px tap target on close button (WCAG 2.5.5) */
@media(max-width:768px){.enq-close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;top:8px;right:8px;}}
/* ── V16.6.0: Professional iBuyOK black/orange modal theme ─────────── */
#enq-overlay{display:none;position:fixed;z-index:99999;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);align-items:center;justify-content:center;padding:15px;box-sizing:border-box;}
#enq-overlay.enq-open{display:flex;}
.enq-modal{background:#fff;border-radius:14px;width:100%;max-width:740px;display:flex;flex-direction:column;max-height:calc(100vh - 30px);max-height:calc(100dvh - 30px);overflow:hidden;overscroll-behavior:contain;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,102,0,.15);position:relative;box-sizing:border-box;}
@media(max-width:500px){.enq-modal{border-radius:10px;}}
/* ── Modal branded header bar ──────────────────────────────────────── */
.enq-modal-header{background:linear-gradient(135deg,#111 0%,#1a1a1a 60%,#222 100%);border-radius:14px 14px 0 0;padding:20px 28px 18px;position:relative;border-bottom:3px solid var(--enq-accent,#ff6600);}
.enq-modal-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 0% 50%,rgba(255,102,0,.12) 0%,transparent 60%);border-radius:14px 14px 0 0;pointer-events:none;}
.enq-modal-header-inner{display:flex;align-items:center;gap:14px;position:relative;z-index:1;}
/* V16.6.11: Logo row — first item inside dark header, above title/badge row */
.enq-hdr-logo-row{display:block;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:1;background:transparent !important;}
.enq-hdr-logo-img{height:auto;width:auto;max-height:40px;max-width:180px;display:block;object-fit:contain;background:transparent !important;} /* V16.6.19 FIX: Removed invert filter — logo renders in natural colours on dark header */
.enq-modal-logo-wrap{flex-shrink:0;min-width:0;background:transparent !important;}
.enq-modal-logo-text{font-size:18px;font-weight:900;color:#fff;letter-spacing:-.5px;line-height:1.1;background:transparent !important;word-break:break-word;}
.enq-modal-logo-text span{color:var(--enq-accent,#ff6600);background:transparent !important;}
.enq-modal-header-inner{display:flex;align-items:center;position:relative;z-index:1;}
.enq-modal-titles{flex:1;min-width:0;background:transparent !important;}
#enq-modal-title{margin:0 0 3px;font-size:18px;font-weight:800;color:#fff;line-height:1.2;background:transparent !important;}
#enq-modal-title *{background:transparent !important;}
.enq-subtitle{margin:0;font-size:12px;color:rgba(255,255,255,.6);line-height:1.4;background:transparent !important;}
.enq-modal-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(255,102,0,.15) !important;border:1px solid rgba(255,102,0,.35);border-radius:20px;padding:4px 10px;font-size:10px;font-weight:800;color:var(--enq-accent,#ff6600);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;margin-top:6px;}
.enq-modal-badge svg,.enq-modal-badge span,.enq-modal-badge *{background:transparent !important;display:inline-block;vertical-align:middle;flex-shrink:0;}
/* V16.6.6 FIX: Blanket transparent override for ALL descendants of dark header — prevents
   any theme CSS (span,p,h3,h4,strong,svg,div { background:#fff }) from injecting white boxes */
.enq-modal-header *{background:transparent !important;}
.enq-modal-header .enq-modal-badge{background:rgba(255,102,0,.15) !important;}
/* V16.6.6 FIX: Same blanket fix for success modal dark background */
#enq-success-modal :where(div,p,span,h4,label,small,strong,section){background:transparent !important;}
#enq-success-modal .enq-sc-ref{background:rgba(255,102,0,.12) !important;}
#enq-success-modal #enq-back-modal{background:rgba(255,102,0,.15) !important;}
#enq-success-modal .enq-sc-share-btn{background:rgba(255,255,255,.12) !important;}
#enq-success-modal .enq-sc-copy-btn{background:#374151 !important;}
#enq-success-modal .enq-sc-li-btn{background:#0077b5 !important;}
#enq-success-modal .enq-sc-x-btn{background:#000 !important;}
#enq-success-modal .enq-sc-fb-btn{background:#1877f2 !important;}
#enq-success-modal .enq-sc-ig-btn{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) !important;}
#enq-success-modal .enq-sc-pin-btn{background:#e60023 !important;}
#enq-success-modal .enq-sc-email-btn{background:#374151 !important;}
#enq-success-modal .enq-sc-wa-btn{background:#25d366 !important;}
#enq-success-modal .enq-sc-wc-open-btn{background:#07c160 !important;}
.enq-close{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:18px;cursor:pointer;color:rgba(255,255,255,.7);line-height:1;padding:4px 8px;transition:background .18s,color .18s;z-index:10;}
.enq-close:hover{background:var(--enq-accent,#ff6600);color:#fff;border-color:var(--enq-accent,#ff6600);}
/* ── Modal body ────────────────────────────────────────────────────── */
.enq-modal-body{padding:24px 28px 28px;}
@media(max-width:500px){.enq-modal-body{padding:16px 14px 20px;}}
.enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;}
@media(max-width:560px){.enq-grid{grid-template-columns:1fr;}}
.enq-field{display:flex;flex-direction:column;gap:4px;}
.enq-field.full-width{grid-column:1/-1;}
.enq-field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#444;}
.enq-field input,.enq-field select,.enq-field textarea{border:1.5px solid #e0e0e0;border-radius:7px;padding:9px 12px;font-size:14px;font-family:inherit;width:100%;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;background:#fff !important;color:#111 !important;}
.enq-field input:focus,.enq-field select:focus,.enq-field textarea:focus{border-color:var(--enq-accent) !important;outline:none !important;box-shadow:0 0 0 3px rgba(255,102,0,.14) !important;}
.enq-field input:hover:not(:focus),.enq-field select:hover:not(:focus),.enq-field textarea:hover:not(:focus){border-color:#bbb;}
.req{color:var(--enq-accent);}
.enq-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;}
.enq-turnstile-wrap{margin:12px 0 8px;}
/* ── Submit button — full-width orange CTA ─────────────────────────── */
.enq-submit{width:100%;background:var(--enq-accent) !important;color:#fff;border:none;padding:15px 20px;font-weight:800;font-size:15px;cursor:pointer;border-radius:8px !important;transition:background .2s,transform .18s,box-shadow .2s;margin-top:12px;letter-spacing:.4px;box-shadow:0 4px 16px rgba(255,102,0,.35) !important;position:relative;overflow:hidden;}
.enq-submit::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,transparent 100%) !important;pointer-events:none;}
.enq-submit:hover{background:#e55c00;transform:translateY(-2px);box-shadow:0 6px 22px rgba(255,102,0,.45) !important;}
.enq-submit:active{transform:translateY(0);box-shadow:0 2px 8px rgba(255,102,0,.3) !important;}
.enq-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none !important;}
#enq-status{margin-top:14px;text-align:center;font-size:14px;min-height:20px;font-weight:600;}
/* V16.5.10: Daily limit friendly banner */
.enq-daily-limit-banner{display:none;margin-top:16px;padding:18px 20px;border-radius:10px;background:#fffbeb;border:1.5px solid #f59e0b;text-align:center;}
.enq-daily-limit-banner.show{display:block;}
.enq-daily-limit-banner .enq-dlb-icon{font-size:32px;line-height:1;margin-bottom:8px;}
.enq-daily-limit-banner .enq-dlb-title{font-size:15px;font-weight:700;color:#92400e;margin:0 0 6px;}
.enq-daily-limit-banner .enq-dlb-msg{font-size:13px;color:#78350f;margin:0 0 12px;line-height:1.5;}
.enq-daily-limit-banner .enq-dlb-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.enq-daily-limit-banner .enq-dlb-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 18px;border-radius:6px;font-size:13px;font-weight:700;text-decoration:none;transition:filter .18s;}
.enq-daily-limit-banner .enq-dlb-btn-primary{background:#f59e0b;color:#fff;border:none;cursor:pointer;}
.enq-daily-limit-banner .enq-dlb-btn-primary:hover{filter:brightness(1.1);color:#fff;}
.enq-daily-limit-banner .enq-dlb-btn-secondary{background:#fff;color:#92400e;border:1.5px solid #f59e0b;}
.enq-daily-limit-banner .enq-dlb-btn-secondary:hover{filter:brightness(.96);color:#92400e;}
.enq-char-count{font-size:11px;color:#aaa;text-align:right;}
.enq-unread-badge{background:var(--enq-accent);color:#fff;border-radius:10px;font-size:11px;padding:2px 7px;margin-left:5px;font-weight:700;}
.enq-consent-wrap{margin:12px 0 8px;display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#555;}
.enq-consent-wrap input[type=checkbox]{margin-top:2px;flex-shrink:0;}
.b2benq-shortcode-wrap{max-width:740px;margin:0 auto;box-sizing:border-box;}
/* ── Shortcode form: branded dark header + white body ─────────────── */
.b2benq-sc-form{background:#fff;border:1.5px solid #e0e0e0;border-radius:14px;padding:0;box-shadow:0 4px 24px rgba(0,0,0,.09);box-sizing:border-box;overflow:hidden;}
.b2benq-sc-form-header{background:linear-gradient(135deg,#111 0%,#1a1a1a 60%,#222 100%);padding:20px 28px 18px;border-bottom:3px solid var(--enq-accent,#ff6600);position:relative;}
.b2benq-sc-form-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 0% 50%,rgba(255,102,0,.12) 0%,transparent 60%);pointer-events:none;}
.b2benq-sc-form-header-inner{display:flex;align-items:center;gap:12px;position:relative;z-index:1;}
.b2benq-sc-form-header .enq-modal-logo-text{font-size:16px;font-weight:900;color:#fff;letter-spacing:-.3px;}
.b2benq-sc-form-header .enq-modal-logo-text span{color:var(--enq-accent,#ff6600);}
.b2benq-sc-form-header h3{margin:0 0 3px;font-size:17px;font-weight:800;color:#fff;}
.b2benq-sc-form-header p{margin:0;font-size:12px;color:rgba(255,255,255,.6);}
/* V16.6.6 FIX: Blanket transparent override for shortcode dark header descendants */
.b2benq-sc-form-header *{background:transparent !important;}
.b2benq-sc-form-header .enq-modal-badge{background:rgba(255,102,0,.15) !important;}
.b2benq-sc-form-body{padding:24px 28px 28px;}
@media(max-width:520px){.b2benq-sc-form-header{padding:16px 16px 14px;}.b2benq-sc-form-body{padding:16px 14px 20px;}}
/* WCAG 2.2: sr-only visually hides but keeps accessible to screen readers */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.enq-field-hint{display:block;}
/* Focus indicator upgrade — WCAG 2.2 §2.4.11 */
.enq-field input:focus-visible,.enq-field select:focus-visible,.enq-field textarea:focus-visible{outline:3px solid var(--enq-accent) !important;outline-offset:2px !important;box-shadow:0 0 0 4px rgba(255,102,0,.18) !important;}
/* Drag-and-drop upload zone */
.enq-dropzone{position:relative;border:2px dashed #ddd;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-top:6px;background:#fafafa;}
.enq-dropzone:hover,.enq-dropzone.enq-dz-over{border-color:var(--enq-accent);background:#fff8f5;}
.enq-dropzone:focus-visible{outline:3px solid var(--enq-accent);outline-offset:2px;}
.enq-dropzone-icon{font-size:24px;display:block;margin-bottom:6px;}
.enq-dropzone-text{font-size:13px;color:#666;}
.enq-dropzone-browse{color:var(--enq-accent);font-weight:700;text-decoration:underline;}
/* Per-file progress items */
.enq-file-list{list-style:none;margin:8px 0 0;padding:0;}
.enq-file-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#555;margin-bottom:4px;}
.enq-file-item .enq-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.enq-file-item .enq-file-size{color:#aaa;white-space:nowrap;}
.enq-file-item .enq-file-remove{background:none;border:none;cursor:pointer;color:#c00;font-size:14px;padding:0;line-height:1;flex-shrink:0;}
.enq-file-item .enq-file-remove:focus-visible{outline:2px solid #c00;border-radius:2px;}
/* ── V15.2: Omni-Channel Communication Hub ───────────────────── */
/* Hub FAB (floating action button) — replaces the old single sticky btn */
.enq-omni-fab{position:fixed;bottom:30px;right:30px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
@media(max-width:768px){.enq-omni-fab{bottom:80px !important;right:16px !important;}}
/* Expansion menu items — slide up when hub is open */
.enq-omni-menu{display:flex;flex-direction:column;align-items:flex-end;gap:8px;overflow:hidden;max-height:0;opacity:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease;pointer-events:none;}
.enq-omni-fab.enq-omni-open .enq-omni-menu{max-height:260px;opacity:1;pointer-events:auto;}
/* Each channel button row: icon pill + label */
.enq-omni-item{display:flex;align-items:center;gap:8px;cursor:pointer;animation:none;}
.enq-omni-label{background:rgba(0,0,0,.72);color:#fff;font-size:12px;font-weight:600;padding:5px 10px;border-radius:20px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.2);backdrop-filter:blur(4px);}
.enq-omni-pill{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;border:none;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.28);transition:transform .2s,filter .2s;flex-shrink:0;}
.enq-omni-pill:hover{transform:scale(1.12);filter:brightness(1.12);}
.enq-omni-pill:focus-visible{outline:3px solid #fff;outline-offset:2px;}
/* Colour coding per channel */
.enq-omni-pill-rfq{background:var(--enq-dark);color:#ff6600;border:2px solid #ff6600 !important;}
.enq-omni-pill-wa{background:#25d366;color:#fff;}
.enq-omni-pill-wc{background:#07c160;color:#fff;}
/* Master FAB trigger button */
.enq-omni-trigger{width:54px;height:54px;border-radius:50%;background:var(--enq-dark);color:#ff6600;border:2px solid #ff6600 !important;font-size:24px;box-shadow:0 4px 20px rgba(0,0,0,.28);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,transform .2s,border-color .25s;animation:enq-sticky-pulse 3s ease-out infinite;}
.enq-omni-trigger:hover{background:var(--enq-accent);color:#000 !important;border-color:var(--enq-accent) !important;transform:scale(1.08);animation:none;}
.enq-omni-trigger:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.enq-omni-fab.enq-omni-open .enq-omni-trigger{animation:none;background:var(--enq-accent);color:#000 !important;border-color:var(--enq-accent) !important;}
/* WeChat QR modal overlay */
#enq-wc-qr-overlay{display:none;position:fixed;z-index:100000;inset:0;background:rgba(0,0,0,.72);align-items:center;justify-content:center;}
#enq-wc-qr-overlay.enq-open{display:flex;}
.enq-wc-qr-box{background:#fff;border-radius:14px;padding:28px 32px;text-align:center;max-width:320px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.35);position:relative;}
.enq-wc-qr-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:24px;cursor:pointer;color:#888;line-height:1;}
.enq-wc-qr-close:hover{color:#111;}
.enq-wc-qr-title{font-size:16px;font-weight:800;color:#111;margin:0 0 6px;}
.enq-wc-qr-sub{font-size:12px;color:#888;margin:0 0 16px;}
.enq-wc-qr-img{max-width:200px;width:100%;height:auto;border-radius:8px;border:1px solid #eee;}
.enq-wc-qr-id{margin:12px 0 0;font-size:13px;color:#555;font-weight:600;word-break:break-all;}

/* ═══ V16.6.38 — fixed header + scrolling form body, compact no-scroll success state ═══════════════════════
   Layout: .enq-modal is a flex column (header | form body | success pane). Only the form body scrolls, so the
   close button and header never scroll away; the success pane is designed to fit the viewport and compacts in
   steps (.enq-compact-1..3, set by modal.js fitSuccess()) before it ever resorts to its own scrollbar.        */
.enq-modal-header{flex:0 0 auto;padding-right:56px;}
.enq-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
#enq-modal-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;}
.enq-hdr-logo-fb{font-weight:900;font-size:18px;color:#fff;letter-spacing:-.5px;}
.enq-hdr-logo-fb[hidden]{display:none;}
.enq-hdr-logo-row.enq-logo-onlight .enq-hdr-logo-img{background:#fff !important;border-radius:6px;padding:4px 10px;box-sizing:content-box;}
html.enq-modal-open,body.enq-modal-open{overflow:hidden !important;}

.enq-success-modal{text-align:center;padding:16px 20px 14px;background:#111;border-radius:0 0 14px 14px;position:relative;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}
.enq-success-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,102,0,.07) 0%,transparent 65%);pointer-events:none;}
.enq-success-modal .enq-check-wrap{margin-bottom:0;}
.enq-success-modal .enq-check-anim svg{width:68px;height:68px;display:block;}
.enq-success-modal .enq-check-pulse,.enq-success-modal .enq-check-pulse2,.enq-success-modal .enq-check-pulse3{inset:-8px;}
.enq-success-heading{margin:10px 0 6px;font-size:19px;line-height:1.25;font-weight:800;color:#ff6600;}
.enq-success-sub{font-size:13px;color:#aaa;margin:0 0 8px;line-height:1.35;}
.enq-success-sub:empty{display:none;}
.enq-success-modal .enq-sc-ref{display:inline-block;border:1px solid rgba(255,102,0,.35);border-radius:8px;padding:5px 14px;margin:0;font-size:12px;color:#ff6600;}
.enq-success-modal .enq-sc-share-section{margin:10px 0 0;padding-top:10px;}
.enq-success-modal .enq-sc-share-label{margin:0 0 8px;}
.enq-success-modal .enq-sc-share-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:0;}
.enq-success-modal .enq-sc-share-btn{justify-content:center;white-space:nowrap;min-width:0;overflow:hidden;padding:7px 6px;font-size:12px;}
.enq-success-modal .enq-sc-follow-section{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;}
.enq-success-modal .enq-sc-follow-divider{grid-column:1 / -1;margin:10px 0 2px;}
.enq-success-modal .enq-sc-wa-follow-box,.enq-success-modal .enq-sc-wc-follow-box{margin:0;padding:10px 12px;}
.enq-success-modal .enq-sc-follow-label{margin:0 0 6px;}
.enq-success-modal .enq-sc-follow-section:not(:has(.enq-sc-wc-follow-box)) .enq-sc-wa-follow-box,
.enq-success-modal .enq-sc-follow-section:not(:has(.enq-sc-wa-follow-box)) .enq-sc-wc-follow-box{grid-column:1 / -1;}
/* The bottom button stays: some visitors never notice the × in the corner. It sticks to the bottom of the pane. */
.enq-success-modal .enq-success-back{display:block;width:100%;margin:10px 0 0;padding:9px 14px;font-size:13px;font-weight:700;color:#ff6600 !important;border:1px solid rgba(255,102,0,.45);border-radius:8px;cursor:pointer;box-shadow:none;position:sticky;bottom:0;z-index:2;background:linear-gradient(rgba(255,102,0,.18),rgba(255,102,0,.18)),#111 !important;}
.enq-success-modal .enq-success-back:hover,.enq-success-modal .enq-success-back:focus-visible{background:linear-gradient(rgba(255,102,0,.32),rgba(255,102,0,.32)),#111 !important;}

/* success state: slim header (logo + ×) — the product title and badge are not needed any more */
.enq-modal--success .enq-modal-header{padding:10px 56px 10px 18px;min-height:48px;}
.enq-modal--success .enq-modal-header-inner{display:none;}
.enq-modal--success .enq-hdr-logo-row{margin:0;padding:0;border-bottom:0;}
.enq-modal--success .enq-hdr-logo-img{max-height:28px;max-width:140px;}

/* compaction steps — applied one by one by fitSuccess() only while the pane still overflows */
.enq-compact-1 .enq-success-modal{padding:10px 16px 10px;}
.enq-compact-1 .enq-check-anim svg{width:52px;height:52px;}
.enq-compact-1 .enq-success-heading{font-size:16px;margin:6px 0 4px;}
.enq-compact-1 .enq-sc-share-section{margin-top:6px;padding-top:6px;}
.enq-compact-1 .enq-sc-share-label{margin-bottom:5px;}
.enq-compact-1 .enq-sc-follow-divider{margin:6px 0 2px;}
.enq-compact-1 .enq-sc-wa-follow-box,.enq-compact-1 .enq-sc-wc-follow-box{padding:7px 10px;}
.enq-compact-1 .enq-success-back{margin-top:6px;padding:7px 12px;}
.enq-compact-2 .enq-sc-lbl{display:none;}
.enq-compact-2 .enq-sc-share-btn{padding:7px 4px;}
.enq-compact-2 .enq-sc-share-label,.enq-compact-2 .enq-sc-follow-label{display:none;}
.enq-compact-3 .enq-check-wrap{display:none;}
.enq-compact-3 .enq-sc-ref{padding:3px 10px;}

@media(max-width:600px){
  #enq-overlay{padding:8px;}
  .enq-modal{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);}
  .enq-modal-header{padding-left:16px;}
  .enq-hdr-logo-img{max-width:140px;max-height:32px;}
  .enq-success-modal .enq-sc-lbl{display:none;}
  .enq-success-modal .enq-sc-follow-section{grid-template-columns:1fr;}
  .enq-success-heading{font-size:17px;}
}
@media(prefers-reduced-motion:reduce){
  .enq-check-anim,.enq-check-circle,.enq-check-tick,.enq-check-pulse,.enq-check-pulse2,.enq-check-pulse3{animation-duration:.01s;animation-iteration-count:1;}
}

/* a lone last share button (7 buttons in 4 columns) fills the row instead of leaving a hole */
.enq-success-modal .enq-sc-share-grid > :last-child:nth-child(4n+3){grid-column:span 2;}
.enq-success-modal .enq-check-wrap{margin-top:4px;}

/* V16.6.38 — former inline styles of the JS-built buttons, now classes */
.enq-sc-ico{flex-shrink:0;}
.enq-sc-wc-open-btn,.enq-sc-wa-open-btn{width:100%;justify-content:center;box-sizing:border-box;}
/* The logo must survive aggressive theme CSS (img{background:#fff !important}, filters, blend modes …): ID + 3 classes. */
#enq-overlay .enq-modal .enq-hdr-logo-row .enq-hdr-logo-img{background:transparent !important;filter:none !important;mix-blend-mode:normal !important;opacity:1 !important;box-shadow:none !important;border:0 !important;}
#enq-overlay .enq-modal .enq-hdr-logo-row.enq-logo-onlight .enq-hdr-logo-img{background:#fff !important;border-radius:6px !important;padding:4px 10px !important;box-sizing:content-box !important;}
