PageSourceSearch

https://www.btc.si/wp-content/plugins/sponsorship-form-plugin/assets/js/sponsorship-form.umd.js?ver=1.0.3

js btc.si collected 2026-10-02 06:44:32 UTC 116,775 bytes, 1,553 lines download raw bytes

vendor: 4,238 bytes, lines 1-9
1(function(d,z){typeof exports=="object"&&typeof module<"u"?z(exports):typeof define=="function"&&define.amd?define(["exports"],z):(d=typeof globalThis<"u"?globalThis:d||self,z(d.SponsorshipForm={}))})(this,function(d){"use strict";/**
2 * @license
3 * Copyright 2019 Google LLC
4 * SPDX-License-Identifier: BSD-3-Clause
5 */var Oe;const z=globalThis,te=z.ShadowRoot&&(z.ShadyCSS===void 0||z.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,oe=Symbol(),he=new WeakMap;let ue=class{constructor(e,t,o){if(this._$cssResult$=!0,o!==oe)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(te&&e===void 0){const o=t!==void 0&&t.length===1;o&&(e=he.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),o&&he.set(t,e))}return e}toString(){return this.cssText}};const Ve=a=>new ue(typeof a=="string"?a:a+"",void 0,oe),q=(a,...e)=>{const t=a.length===1?a[0]:e.reduce((o,r,i)=>o+(s=>{if(s._$cssResult$===!0)return s.cssText;if(typeof s=="number")return s;throw Error("Value passed to 'css' function must be a 'css' function result: "+s+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+a[i+1],a[0]);return new ue(t,a,oe)},Be=(a,e)=>{if(te)a.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const t of e){const o=document.createElement("style"),r=z.litNonce;r!==void 0&&o.setAttribute("nonce",r),o.textContent=t.cssText,a.appendChild(o)}},me=te?a=>a:a=>a instanceof CSSStyleSheet?(e=>{let t="";for(const o of e.cssRules)t+=o.cssText;return Ve(t)})(a):a;/**
6 * @license
7 * Copyright 2017 Google LLC
8 * SPDX-License-Identifier: BSD-3-Clause
9 */const{is:Ue,defineProperty:Ke,getOwnPropertyDescriptor:Ge,getOwnPropertyNames:He,getOwnPropertySymbols:Ye,getPrototypeOf:qe}=Object,w=globalThis,ve=w.trustedTypes,Je=ve?ve.emptyScript:"",re=w.reactiveElementPolyfillSupport,F=(a,e)=>a,J={toAttribute(a,e){switch(e){case Boolean:a=a?Je:null;break;case Object:case Array:a=a==null?a:JSON.stringify(a)}return a},fromAttribute(a,e){let t=a;switch(e){case Boolean:t=a!==null;break;case Number:t=a===null?null:Number(a);break;case Object:case Array:try{t=JSON.parse(a)}catch{t=null}}return t}},ae=(a,e)=>!Ue(a,e),ge={attribute:!0,type:String,converter:J,reflect:!1,useDefault:!1,hasChanged:ae};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),w.litPropertyMetadata??(w.litPropertyMetadata=new WeakMap);let M=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=ge){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const o=Symbol(),r=this.getPropertyDescriptor(e,o,t);r!==void 0&&Ke(this.prototype,e,r)}}static getPropertyDescriptor(e,t,o){const{get:r,set:i}=Ge(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s}};return{get:r,set(s){const h=r==null?void 0:r.call(this);i==null||i.call(this,s),this.requestUpdate(e,h,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??ge}static _$Ei(){if(this.hasOwnProperty(F("elementProperties")))return;const e=qe(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(F("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(F("properties"))){const t=this.properties,o=[...He(t),...Ye(t)];for(const r of o)this.createProperty(r,t[r])}const e=this[Symbol.metadata];if(e!==null){const t=litPropertyMetadata.get(e);if(t!==void 0)for(const[o,r]of t)this.elementProperties.set(o,r)}this._$Eh=new Map;for(const[t,o]of this.elementProperties){const r=this._$Eu(t,o);r!==void 0&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const o=new Set(e.flat(1/0).reverse());for(const r of o)t.unshift(me(r))}else e!==void 0&&t.push(me(e));return t}static _$Eu(e,t){const o=t.attribute;
vendor: 9,406 bytes, lines 9-15
9return o===!1?void 0:typeof o=="string"?o:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(t=>t(this))}addController(e){var t;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)==null||t.call(e))}removeController(e){var t;(t=this._$EO)==null||t.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const o of t.keys())this.hasOwnProperty(o)&&(e.set(o,this[o]),delete this[o]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Be(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(t=>{var o;return(o=t.hostConnected)==null?void 0:o.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(t=>{var o;return(o=t.hostDisconnected)==null?void 0:o.call(t)})}attributeChangedCallback(e,t,o){this._$AK(e,o)}_$ET(e,t){var i;const o=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,o);if(r!==void 0&&o.reflect===!0){const s=(((i=o.converter)==null?void 0:i.toAttribute)!==void 0?o.converter:J).toAttribute(t,o.type);this._$Em=e,s==null?this.removeAttribute(r):this.setAttribute(r,s),this._$Em=null}}_$AK(e,t){var i,s;const o=this.constructor,r=o._$Eh.get(e);if(r!==void 0&&this._$Em!==r){const h=o.getPropertyOptions(r),c=typeof h.converter=="function"?{fromAttribute:h.converter}:((i=h.converter)==null?void 0:i.fromAttribute)!==void 0?h.converter:J;this._$Em=r;const v=c.fromAttribute(t,h.type);this[r]=v??((s=this._$Ej)==null?void 0:s.get(r))??v,this._$Em=null}}requestUpdate(e,t,o){var r;if(e!==void 0){const i=this.constructor,s=this[e];if(o??(o=i.getPropertyOptions(e)),!((o.hasChanged??ae)(s,t)||o.useDefault&&o.reflect&&s===((r=this._$Ej)==null?void 0:r.get(e))&&!this.hasAttribute(i._$Eu(e,o))))return;this.C(e,t,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:o,reflect:r,wrapped:i},s){o&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,s??t??this[e]),i!==!0||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||o||(t=void 0),this._$AL.set(e,t)),r===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var o;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[i,s]of this._$Ep)this[i]=s;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[i,s]of r){const{wrapped:h}=s,c=this[i];h!==!0||this._$AL.has(i)||c===void 0||this.C(i,void 0,s,c)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),(o=this._$EO)==null||o.forEach(r=>{var i;return(i=r.hostUpdate)==null?void 0:i.call(r)}),this.update(t)):this._$EM()}catch(r){throw e=!1,this._$EM(),r}e&&this._$AE(t)}willUpdate(e){}_$AE(e){var t;(t=this._$EO)==null||t.forEach(o=>{var r;return(r=o.hostUpdated)==null?void 0:r.call(o)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(t=>this._$ET(t,this[t]))),this._$EM()}updated(e){}firstUpdated(e){}};M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[F("elementProperties")]=new Map,M[F("finalized")]=new Map,re==null||re({ReactiveElement:M}),(w.reactiveElementVersions??(w.reactiveElementVersions=[])).push("2.1.1");/**
10 * @license
11 * Copyright 2017 Google LLC
12 * SPDX-License-Identifier: BSD-3-Clause
13 */const R=globalThis,Z=R.trustedTypes,be=Z?Z.createPolicy("lit-html",{createHTML:a=>a}):void 0,fe="$lit$",P=`lit$${Math.random().toFixed(9).slice(2)}$`,je="?"+P,Ze=`<${je}>`,x=document,V=()=>x.createComment(""),B=a=>a===null||typeof a!="object"&&typeof a!="function",ie=Array.isArray,We=a=>ie(a)||typeof(a==null?void 0:a[Symbol.iterator])=="function",se=`[ 	
14\f\r]`,U=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ke=/-->/g,ye=/>/g,A=RegExp(`>|${se}(?:([^\\s"'>=/]+)(${se}*=${se}*(?:[^ 	
15\f\r"'\`<>=]|("|')|))|$)`,"g"),$e=/'/g,Se=/"/g,_e=/^(?:script|style|textarea|title)$/i,Xe=a=>(e,...t)=>({_$litType$:a,strings:e,values:t}),l=Xe(1),C=Symbol.for("lit-noChange"),p=Symbol.for("lit-nothing"),ze=new WeakMap,T=x.createTreeWalker(x,129);function we(a,e){if(!ie(a)||!a.hasOwnProperty("raw"))throw Error("invalid template strings array");return be!==void 0?be.createHTML(e):e}const Qe=(a,e)=>{const t=a.length-1,o=[];let r,i=e===2?"<svg>":e===3?"<math>":"",s=U;for(let h=0;h<t;h++){const c=a[h];let v,g,m=-1,$=0;for(;$<c.length&&(s.lastIndex=$,g=s.exec(c),g!==null);)$=s.lastIndex,s===U?g[1]==="!--"?s=ke:g[1]!==void 0?s=ye:g[2]!==void 0?(_e.test(g[2])&&(r=RegExp("</"+g[2],"g")),s=A):g[3]!==void 0&&(s=A):s===A?g[0]===">"?(s=r??U,m=-1):g[1]===void 0?m=-2:(m=s.lastIndex-g[2].length,v=g[1],s=g[3]===void 0?A:g[3]==='"'?Se:$e):s===Se||s===$e?s=A:s===ke||s===ye?s=U:(s=A,r=void 0);const S=s===A&&a[h+1].startsWith("/>")?" ":"";i+=s===U?c+Ze:m>=0?(o.push(v),c.slice(0,m)+fe+c.slice(m)+P+S):c+P+(m===-2?h:S)}return[we(a,i+(a[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),o]};class K{constructor({strings:e,_$litType$:t},o){let r;this.parts=[];let i=0,s=0;const h=e.length-1,c=this.parts,[v,g]=Qe(e,t);if(this.el=K.createElement(v,o),T.currentNode=this.el.content,t===2||t===3){const m=this.el.content.firstChild;m.replaceWith(...m.childNodes)}for(;(r=T.nextNode())!==null&&c.length<h;){if(r.nodeType===1){if(r.hasAttributes())for(const m of r.getAttributeNames())if(m.endsWith(fe)){const $=g[s++],S=r.getAttribute(m).split(P),O=/([.?@])?(.*)/.exec($);c.push({type:1,index:i,name:O[2],strings:S,ctor:O[1]==="."?tt:O[1]==="?"?ot:O[1]==="@"?rt:W}),r.removeAttribute(m)}else m.startsWith(P)&&(c.push({type:6,index:i}),r.removeAttribute(m));if(_e.test(r.tagName)){const m=r.textContent.split(P),$=m.length-1;if($>0){r.textContent=Z?Z.emptyScript:"";for(let S=0;S<$;S++)r.append(m[S],V()),T.nextNode(),c.push({type:2,index:++i});r.append(m[$],V())}}}else if(r.nodeType===8)if(r.data===je)c.push({type:2,index:i});else{let m=-1;for(;(m=r.data.indexOf(P,m+1))!==-1;)c.push({type:7,index:i}),m+=P.length-1}i++}}static createElement(e,t){const o=x.createElement("template");return o.innerHTML=e,o}}function I(a,e,t=a,o){var s,h;if(e===C)return e;let r=o!==void 0?(s=t._$Co)==null?void 0:s[o]:t._$Cl;const i=B(e)?void 0:e._$litDirective$;return(r==null?void 0:r.constructor)!==i&&((h=r==null?void 0:r._$AO)==null||h.call(r,!1),i===void 0?r=void 0:(r=new i(a),r._$AT(a,t,o)),o!==void 0?(t._$Co??(t._$Co=[]))[o]=r:t._$Cl=r),r!==void 0&&(e=I(a,r._$AS(a,e.values),r,o)),e}class et{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:o}=this._$AD,r=((e==null?void 0:e.creationScope)??x).importNode(t,!0);T.currentNode=r;let i=T.nextNode(),s=0,h=0,c=o[0];for(;c!==void 0;){if(s===c.index){let v;c.type===2?v=new G(i,i.nextSibling,this,e):c.type===1?v=new c.ctor(i,c.name,c.strings,this,e):c.type===6&&(v=new at(i,this,e)),this._$AV.push(v),c=o[++h]}s!==(c==null?void 0:c.index)&&(i=T.nextNode(),s++)}return T.currentNode=x,r}p(e){let t=0;for(const o of this._$AV)o!==void 0&&(o.strings!==void 0?(o._$AI(e,o,t),t+=o.strings.length-2):o._$AI(e[t])),t++}}class G{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,t,o,r){this.type=2,this._$AH=p,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=o,this.options=r,this._$Cv=(r==null?void 0:r.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return t!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=I(this,e,t),B(e)?e===p||e==null||e===""?(this._$AH!==p&&this._$AR(),this._$AH=p):e!==this._$AH&&e!==C&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):We(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==p&&B(this._$AH)?this._$AA.nextSibling.data=e:this.T(x.createTextNode(e)),this._$AH=e}$(e){var i;const{values:t,_$litType$:o}=e,r=typeof o=="number"?this._$AC(e):(o.el===void 0&&(o.el=K.createElement(we(o.h,o.h[0]),this.options)),o);if(((i=this._$AH)==null?void 0:i._$AD)===r)this._$AH.p(t);else{const s=new et(r,this),h=s.u(this.options);s.p(t),this.T(h),this._$AH=s}}_$AC(e){let t=ze.get(e.strings);return t===void 0&&ze.set(e.strings,t=new K(e)),t}k(e){ie(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let o,r=0;for(const i of e)r===t.length?t.push(o=new G(this.O(V()),this.O(V()),this,this.options)):o=t[r],o._$AI(i),r++;r<t.length&&(this._$AR(o&&o._$AB.nextSibling,r),t.length=r)}_$AR(e=this._$AA.nextSibling,t){var o;
vendor: 1,231 bytes, line 15
15for((o=this._$AP)==null?void 0:o.call(this,!1,!0,t);e!==this._$AB;){const r=e.nextSibling;e.remove(),e=r}}setConnected(e){var t;this._$AM===void 0&&(this._$Cv=e,(t=this._$AP)==null||t.call(this,e))}}class W{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,o,r,i){this.type=1,this._$AH=p,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,o.length>2||o[0]!==""||o[1]!==""?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=p}_$AI(e,t=this,o,r){const i=this.strings;let s=!1;if(i===void 0)e=I(this,e,t,0),s=!B(e)||e!==this._$AH&&e!==C,s&&(this._$AH=e);else{const h=e;let c,v;for(e=i[0],c=0;c<i.length-1;c++)v=I(this,h[o+c],t,c),v===C&&(v=this._$AH[c]),s||(s=!B(v)||v!==this._$AH[c]),v===p?e=p:e!==p&&(e+=(v??"")+i[c+1]),this._$AH[c]=v}s&&!r&&this.j(e)}j(e){e===p?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class tt extends W{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===p?void 0:e}}class ot extends W{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==p)}}class rt extends W{constructor(e,t,o,r,i){super(e,t,o,r,i),this.type=5}
vendor: 4,832 bytes, lines 15-39
15_$AI(e,t=this){if((e=I(this,e,t,0)??p)===C)return;const o=this._$AH,r=e===p&&o!==p||e.capture!==o.capture||e.once!==o.once||e.passive!==o.passive,i=e!==p&&(o===p||r);r&&this.element.removeEventListener(this.name,this,o),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var t;typeof this._$AH=="function"?this._$AH.call(((t=this.options)==null?void 0:t.host)??this.element,e):this._$AH.handleEvent(e)}}class at{constructor(e,t,o){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(e){I(this,e)}}const ne=R.litHtmlPolyfillSupport;ne==null||ne(K,G),(R.litHtmlVersions??(R.litHtmlVersions=[])).push("3.3.1");const it=(a,e,t)=>{const o=(t==null?void 0:t.renderBefore)??e;let r=o._$litPart$;if(r===void 0){const i=(t==null?void 0:t.renderBefore)??null;o._$litPart$=r=new G(e.insertBefore(V(),i),i,void 0,t??{})}return r._$AI(a),r};/**
16 * @license
17 * Copyright 2017 Google LLC
18 * SPDX-License-Identifier: BSD-3-Clause
19 */const L=globalThis;let E=class extends M{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t;const e=super.createRenderRoot();return(t=this.renderOptions).renderBefore??(t.renderBefore=e.firstChild),e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=it(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return C}};E._$litElement$=!0,E.finalized=!0,(Oe=L.litElementHydrateSupport)==null||Oe.call(L,{LitElement:E});const le=L.litElementPolyfillSupport;le==null||le({LitElement:E}),(L.litElementVersions??(L.litElementVersions=[])).push("4.2.1");/**
20 * @license
21 * Copyright 2017 Google LLC
22 * SPDX-License-Identifier: BSD-3-Clause
23 */const X=a=>(e,t)=>{t!==void 0?t.addInitializer(()=>{customElements.define(a,e)}):customElements.define(a,e)};/**
24 * @license
25 * Copyright 2017 Google LLC
26 * SPDX-License-Identifier: BSD-3-Clause
27 */const st={attribute:!0,type:String,converter:J,reflect:!1,hasChanged:ae},nt=(a=st,e,t)=>{const{kind:o,metadata:r}=t;let i=globalThis.litPropertyMetadata.get(r);if(i===void 0&&globalThis.litPropertyMetadata.set(r,i=new Map),o==="setter"&&((a=Object.create(a)).wrapped=!0),i.set(t.name,a),o==="accessor"){const{name:s}=t;return{set(h){const c=e.get.call(this);e.set.call(this,h),this.requestUpdate(s,c,a)},init(h){return h!==void 0&&this.C(s,void 0,a,h),h}}}if(o==="setter"){const{name:s}=t;return function(h){const c=this[s];e.call(this,h),this.requestUpdate(s,c,a)}}throw Error("Unsupported decorator location: "+o)};function k(a){return(e,t)=>typeof t=="object"?nt(a,e,t):((o,r,i)=>{const s=r.hasOwnProperty(i);return r.constructor.createProperty(i,o),s?Object.getOwnPropertyDescriptor(r,i):void 0})(a,e,t)}/**
28 * @license
29 * Copyright 2017 Google LLC
30 * SPDX-License-Identifier: BSD-3-Clause
31 */function j(a){return k({...a,state:!0,attribute:!1})}/**
32 * @license
33 * Copyright 2017 Google LLC
34 * SPDX-License-Identifier: BSD-3-Clause
35 */const lt={ATTRIBUTE:1},ct=a=>(...e)=>({_$litDirective$:a,values:e});class pt{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,o){this._$Ct=e,this._$AM=t,this._$Ci=o}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}/**
36 * @license
37 * Copyright 2018 Google LLC
38 * SPDX-License-Identifier: BSD-3-Clause
39 */const u=ct(class extends pt{constructor(a){var e;if(super(a),a.type!==lt.ATTRIBUTE||a.name!=="class"||((e=a.strings)==null?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(a){return" "+Object.keys(a).filter(e=>a[e]).join(" ")+" "}update(a,[e]){var o,r;if(this.st===void 0){this.st=new Set,a.strings!==void 0&&(this.nt=new Set(a.strings.join(" ").split(/\s/).filter(i=>i!=="")));for(const i in e)e[i]&&!((o=this.nt)!=null&&o.has(i))&&this.st.add(i);return this.render(e)}const t=a.element.classList;for(const i of this.st)i in e||(t.remove(i),this.st.delete(i));for(const i in e){const s=!!e[i];s===this.st.has(i)||(r=this.nt)!=null&&r.has(i)||(s?(t.add(i),this.st.add(i)):(t.remove(i),this.st.delete(i)))}return C}});var f=(a=>(a[a.TYPE_SELECTION=0]="TYPE_SELECTION",a[a.APPLICANT_DATA=1]="APPLICANT_DATA",a[a.PROJECT_DETAILS=2]="PROJECT_DETAILS",a))(f||{}),y=(a=>(a.PHYSICAL="physical",a.LEGAL="legal",a))(y||{}),_=(a=>(a.SPONSORSHIP="sponzorstvo",a.DONATION="donacija",a))(_||{});const Pe={1e3:"Ljubljana",1001:"Ljubljana - poštni predali",1210:"Ljubljana Šentvid",1211:"Ljubljana-Šmartno",1215:"Medvode",1216:"Smlednik",1217:"Vodice",1218:"Komenda",1219:"Laze v Tuhinju",1221:"Motnik",1222:"Trojane",1223:"Blagov
39ica",1225:"Lukovica",1230:"Domžale",1231:"Ljubljana Črnuče",1233:"Dob",1234:"Mengeš",1235:"Radomlje",1236:"Trzin",1241:"Kamnik",1242:"Stahovica",1251:"Moravče",1252:"Vače",1260:"Ljubljana Polje",1261:"Ljubljana-Dobrunje",1262:"Dol pri Ljubljani",1270:"Litija",1272:"Polšnik",1273:"Dole pri Litiji",1274:"Gabrovka",1275:"Šmartno pri Litiji",1276:"Primskovo",1281:"Kresnice",1282:"Sava",1290:"Grosuplje",1291:"Škofljica",1292:"Ig",1293:"Šmarje-Sap",1294:"Višnja Gora",1295:"Ivančna Gorica",1296:"Šentvid pri Stični",1301:"Krka",1303:"Zagradec",1310:"Ribnica",1311:"Turjak",1312:"Videm-Dobrepolje",1313:"Struge",1314:"Rob",1315:"Velike Lašče",1316:"Ortnek",1317:"Sodražica",1318:"Loški Potok",1319:"Draga",1330:"Kočevje",1331:"Dolenja vas",1332:"Stara Cerkev",1336:"Vas",1337:"Osilnica",1338:"Kočevska Reka",1351:"Brezovica pri Ljubljani",1352:"Preserje",1353:"Borovnica",1354:"Horjul",1355:"Polhov Gradec",1356:"Dobrova",1357:"Notranje Gorice",1358:"Log pri Brezovici",1360:"Vrhnika",1370:"Logatec",1371:"Logatec",1372:"Hotedršica",1373:"Rovte",1380:"Cerknica",1381:"Rakek",1382:"Begunje pri Cerknici",1384:"Grahovo",1385:"Nova vas",1386:"Stari trg pri Ložu",1410:"Zagorje ob Savi",1411:"Izlake",1412:"Kisovec",1413:"Čemšenik",1414:"Podkum",1420:"Trbovlje",1423:"Dobovec",1430:"Hrastnik",1431:"Dol pri Hrastniku",1432:"Zidani Most",1433:"Radeče",1434:"Loka pri Zidanem Mostu",1500:"Ljubljana",1501:"Ljubljana",1502:"Ljubljana",1503:"Ljubljana",1504:"Ljubljana",1505:"Ljubljana",1506:"Ljubljana",1507:"Ljubljana",1508:"Ljubljana",1509:"Ljubljana",1510:"Ljubljana",1511:"Ljubljana",1512:"Ljubljana",1513:"Ljubljana",1514:"Ljubljana",1516:"Ljubljana",1517:"Ljubljana",1518:"Ljubljana",1519:"Ljubljana",1520:"Ljubljana",1521:"Ljubljana",1522:"Ljubljana",1523:"Ljubljana",1524:"Ljubljana",1525:"Ljubljana",1526:"Ljubljana",1527:"Ljubljana",1528:"Ljubljana",1529:"Ljubljana",1532:"Ljubljana",1533:"Ljubljana",1534:"Ljubljana",1535:"Ljubljana",1536:"Ljubljana",1537:"Ljubljana",1538:"Ljubljana",1540:"Ljubljana",1542:"Ljubljana",1543:"Ljubljana",1544:"Ljubljana",1545:"Ljubljana",1546:"Ljubljana",1547:"Ljubljana",1550:"Ljubljana",1600:"Ljubljana",2e3:"Maribor",2001:"Maribor - poštni predali",2201:"Zgornja Kungota",2204:"Miklavž na Dravskem polju",2205:"Starše",2206:"Marjeta na Dravskem polju",2208:"Pohorje",2211:"Pesnica pri Mariboru",2212:"Šentilj v Slovenskih goricah",2213:"Zgornja Velka",2214:"Sladki Vrh",2215:"Ceršak",2221:"Jarenina",2222:"Jakobski Dol",2223:"Jurovski Dol",2229:"Malečnik",2230:"Lenart v Slovenskih goricah",2231:"Pernica",2232:"Voličina",2233:"Sv. Ana v Slovenskih goricah",2234:"Benedikt",2235:"Sv. Trojica v Slovenskih goricah",2236:"Cerkvenjak",2241:"Spodnji Duplek",2242:"Zgornja Korena",2250:"Ptuj",2252:"Dornava",2253:"Destrnik",2254:"Trnovska vas",2255:"Vitomarci",2256:"Juršinci",2257:"Polenšak",2258:"Sveti Tomaž",2259:"Ivanjkovci",2270:"Ormož",2272:"Gorišnica",2273:"Podgorci",2274:"Velika Nedelja",2275:"Miklavž pri Ormožu",2276:"Kog",2277:"Središče ob Dravi",2281:"Markovci",2282:"Cirkulane",2283:"Zavrč",2284:"Videm pri Ptuju",2285:"Zgornji Leskovec",2286:"Podlehnik",2287:"Žetale",2288:"Hajdina",2289:"Stoperce",2310:"Slovenska Bistrica",2311:"Hoče",2312:"Orehova vas",2313:"Fram",2314:"Zgornja Polskava",2315:"Šmartno na Pohorju",2316:"Zgornja Ložnica",2317:"Oplotnica",2318:"Laporje",2319:"Poljčane",2321:"Makole",2322:"Majšperk",2323:"Ptujska Gora",2324:"Lovrenc na Dravskem polju",2325:"Kidričevo",2326:"Cirkovce",2327:"Rače",2331:"Pragersko",2341:"Limbuš",2342:"Ruše",2343:"Fala",2344:"Lovrenc na Pohorju",2345:"Bistrica ob Dravi",2351:"Kamnica",2352:"Selnica ob Dravi",2353:"Sv. Duh na Ostrem Vrhu",2354:"Bresternica",2360:"Radlje ob Dravi",2361:"Ožbalt",2362:"Kapla",2363:"Podvelka",2364:"Ribnica na Pohorju",2365:"Vuhred",2366:"Muta",2367:"Vuzenica",2370:"Dravograd",2371:"Trbonje",2372:"Libeliče",2373:"Šentjanž pri Dravogradu",2380:"Slovenj Gradec",2381:"Podgorje pri Slovenj Gradcu",2382:"Mislinja",2383:"Šmartno pri Slovenj Gradcu",2390:"Ravne na Koroškem",2391:"Prevalje",2392:"Mežica",2393:"Črna na Koroškem",2394:"Kotlje",2500:"Maribor",2501:"Maribor",2502:"Maribor",2503:"Maribor",2504:"Maribor",2505:"Maribor",2506:"Maribor",2507:"Maribor",2509:"Maribor",2600:"Maribor",2603:"Maribor",2609:"Maribor",2610:"Maribor",3e3:"Celje",3001:"Celje - poštni predali",3201:"Šmartno v Rožni dolini",3202:"Ljubečn
39a",3203:"Nova Cerkev",3204:"Dobrna",3205:"Vitanje",3206:"Stranice",3210:"Slovenske Konjice",3211:"Škofja vas",3212:"Vojnik",3213:"Frankolovo",3214:"Zreče",3215:"Loče",3220:"Štore",3221:"Teharje",3222:"Dramlje",3223:"Loka pri Žusmu",3224:"Dobje pri Planini",3225:"Planina pri Sevnici",3230:"Šentjur",3231:"Grobelno",3232:"Ponikva",3233:"Kalobje",3240:"Šmarje pri Jelšah",3241:"Podplat",3250:"Rogaška Slatina",3252:"Rogatec",3253:"Pristava pri Mestinju",3254:"Podčetrtek",3255:"Buče",3256:"Bistrica ob Sotli",3257:"Podsreda",3260:"Kozje",3261:"Lesično",3262:"Prevorje",3263:"Gorica pri Slivnici",3264:"Sveti Štefan",3270:"Laško",3271:"Šentrupert",3272:"Rimske Toplice",3273:"Jurklošter",3301:"Petrovče",3302:"Griže",3303:"Gomilsko",3304:"Tabor",3305:"Vransko",3310:"Žalec",3311:"Šempeter v Savinjski dolini",3312:"Prebold",3313:"Polzela",3314:"Braslovče",3320:"Velenje",3322:"Velenje - poštni predali",3325:"Šoštanj",3326:"Topolšica",3327:"Šmartno ob Paki",3330:"Mozirje",3331:"Nazarje",3332:"Rečica ob Savinji",3333:"Ljubno ob Savinji",3334:"Luče",3335:"Solčava",3341:"Šmartno ob Dreti",3342:"Gornji Grad",3502:"Celje",3503:"Velenje",3504:"Velenje",3505:"Celje",3600:"Celje",4e3:"Kranj",4001:"Kranj - poštni predali",4201:"Zgornja Besnica",4202:"Naklo",4203:"Duplje",4204:"Golnik",4205:"Preddvor",4206:"Zgornje Jezersko",4207:"Cerklje na Gorenjskem",4208:"Šenčur",4209:"Žabnica",4210:"Brnik aerodrom",4211:"Mavčiče",4212:"Visoko",4220:"Škofja Loka",4223:"Poljane nad Škofjo Loko",4224:"Gorenja vas",4225:"Sovodenj",4226:"Žiri",4227:"Selca",4228:"Železniki",4229:"Sorica",4240:"Radovljica",4243:"Brezje",4244:"Podnart",4245:"Kropa",4246:"Kamna Gorica",4247:"Zgornje Gorje",4248:"Lesce",4260:"Bled",4263:"Bohinjska Bela",4264:"Bohinjska Bistrica",4265:"Bohinjsko jezero",4267:"Srednja vas v Bohinju",4270:"Jesenice",4273:"Blejska Dobrava",4274:"Žirovnica",4275:"Begunje na Gorenjskem",4276:"Hrušica",4280:"Kranjska Gora",4281:"Mojstrana",4282:"Gozd Martuljek",4283:"Rateče-Planica",4290:"Tržič",4294:"Križe",4501:"Naklo",4502:"Kranj",4600:"Kranj",5e3:"Nova Gorica",5001:"Nova Gorica - poštni predali",5210:"Deskle",5211:"Kojsko",5212:"Dobrovo v Brdih",5213:"Kanal",5214:"Kal nad Kanalom",5215:"Ročinj",5216:"Most na Soči",5220:"Tolmin",5222
39:"Kobarid",5223:"Breginj",5224:"Srpenica",5230:"Bovec",5231:"Log pod Mangartom",5232:"Soča",5242:"Grahovo ob Bači",5243:"Podbrdo",5250:"Solkan",5251:"Grgar",5252:"Trnovo pri Gorici",5253:"Čepovan",5261:"Šempas",5262:"Črniče",5263:"Dobravlje",5270:"Ajdovščina",5271:"Vipava",5272:"Podnanos",5273:"Col",5274:"Črni Vrh nad Idrijo",5275:"Godovič",5280:"Idrija",5281:"Spodnja Idrija",5282:"Cerkno",5283:"Slap ob Idrijci",5290:"Šempeter pri Gorici",5291:"Miren",5292:"Renče",5293:"Volčja Draga",5294:"Dornberk",5295:"Branik",5296:"Kostanjevica na Krasu",5297:"Prvačina",5600:"Nova Gorica",6e3:"Koper/Capodistria",6001:"Koper/Capodistria - poštni predali",6210:"Sežana",6215:"Divača",6216:"Podgorje",6217:"Vremski Britof",6219:"Lokev",6221:"Dutovlje",6222:"Štanjel",6223:"Komen",6224:"Senožeče",6225:"Hruševje",6230:"Postojna",6232:"Planina",6240:"Kozina",6242:"Materija",6243:"Obrov",6244:"Podgrad",6250:"Ilirska Bistrica",6251:"Ilirska Bistrica-Trnovo",6253:"Knežak",6254:"Jelšane",6255:"Prem",6256:"Košana",6257:"Pivka",6258:"Prestranek",6271:"Dekani",6272:"Gračišče",6273:"Marezige",6274:"Šmarje",6275:"Črni Kal",6276:"Pobegi",6280:"Ankaran/Ancarano",6281:"Škofije",6310:"Izola/Isola",6320:"Portorož/Portorose",6323:"Strunjan/Strugnano (sezonska pošta)",6330:"Piran/Pirano",6333:"Sečovlje/Sicciole",6501:"Koper",6502:"Koper",6503:"Koper",6504:"Koper",6505:"Koper",6600:"Koper",8e3:"Novo mesto",8001:"Novo mesto - poštni predali",8210:"Trebnje",8211:"Dobrnič",8212:"Velika Loka",8213:"Veliki Gaber",8216:"Mirna Peč",8220:"Šmarješke Toplice",8222:"Otočec",8230:"Mokronog",8231:"Trebelno",8232:"Šentrupert",8233:"Mirna",8250:"Brežice",8251:"Čatež ob Savi",8253:"Artiče",8254:"Globoko",8255:"Pišece",8256:"Sromlje",8257:"Dobova",8258:"Kapele",8259:"Bizeljsko",8261:"Jesenice na Dolenjskem",8262:"Krška vas",8263:"Cerklje ob Krki",8270:"Krško",8272:"Zdole",8273:"Leskovec pri Krškem",8274:"Raka",8275:"Škocjan",8276:"Bučka",8280:"Brestanica",8281:"Senovo",8282:"Koprivnica",8283:"Blanca",8290:"Sevnica",8292:"Zabukovje",8293:"Studenec",8294:"Boštanj",8295:"Tržišče",8296:"Krmelj",8297:"Šentjanž",8310:"Šentjernej",8311:"Kostanjevica na Krki",8312:"Podbočje",8321:"Brusnice",8322:"Stopiče",8323:"Uršna sela",8330:"Metlika",8331:"Suhor",8332:"Gradac",8333:"Semič",8340:"Črnomelj",8341:"Adlešiči",8342:"Stari trg ob Kolpi",8343:"Dragatuš",8344:"Vinica",8350:"Dolenjske Toplice",8351:"Straža",8360:"Žužemberk",8361:"Dvor",8362:"Hinje",8501:"Novo mesto",8600:"Novo mesto",9e3:"Murska Sobota",9001:"Murska Sobota - poštni predali",9201:"Puconci",9202:"Mačkovci",9203:"Petrovci",9204:"Šalovci",9205:"Hodoš/Hodos",9206:"Križevci",9207:"Prosenjakovci/Partosfalva",9208:"Fokovci",9220:"Lendava/Lendva",9221:"Martjanci",9222:"Bogojina",9223:"Dobrovnik/Dobronak",9224:"Turnišče",9225:"Velika Polana",9226:"Moravske Toplice",9227:"Kobilje",9231:"Beltinci",9232:"Črenšovci",9233:"Odranci",9240:"Ljutomer",9241:"Veržej",9242
39:"Križevci pri Ljutomeru",9243:"Mala Nedelja",9244:"Sv. Jurij ob Ščavnici",9245:"Spodnji Ivanjci",9250:"Gornja Radgona",9251:"Tišina",9252:"Radenci",9253:"Apače",9261:"Cankova",9262:"Rogašovci",9263:"Kuzma",9264:"Grad",9265:"Bodonci",9501:"Murska Sobota",9502:"Radenci",9600:"Murska Sobota"};function ce(a){return Pe[a]||""}function dt(a){return Object.keys(Pe).sort().find(t=>t.startsWith(a))||null}async function ht(a,e,t,o,r,i){try{const s=new FormData;Object.entries(a).forEach(([g,m])=>{m!=null&&s.append(g,m.toString())}),e.forEach(g=>{s.append("priloge",g)}),s.append("submission_timestamp",new Date().toISOString()),s.append("user_agent",navigator.userAgent);const h={"Accept-Language":i};o&&o.length>0&&(h["X-API-Key"]=o),r&&r.length>0&&(h["X-Tenant-ID"]=r);const c=await fetch(t,{method:"POST",body:s,headers:h});if(!c.ok)return{success:!1,message:(await c.json().catch(()=>({}))).message||`Server error: ${c.status}`};const v=await c.json();return{success:!0,referenceNumber:v.referenceNumber||ut(),message:v.message}}catch(s){return console.error("Form submission error:",s),s instanceof TypeError&&s.message.includes("fetch")?{success:!1,message:"Napaka pri povezavi s strežnikom. Preverite internetno povezavo."}:{success:!1,message:"Prišlo je do nepričakovane napake. Prosimo, poskusite znova."}}}function ut(){const a=Date.now().toString(36),e=Math.random().toString(36).substring(2,8);return`SP-${a}-${e}`.toUpperCase()}function Ee(a,e,t,o){var i,s,h,c,v,g,m,$,S,O,Me,Ie,Fe,Re;const r={};switch(e.drzava=(e.drzava||"SI").trim().toUpperCase(),a){case f.TYPE_SELECTION:o||(r.sponsorship_type="Izberite tip vloge"),t||(r.entity_type="Izberite tip prosilca");break;case f.APPLICANT_DATA:if(t===y.PHYSICAL?(e.ime||(r.ime="Ime je obvezno"),e.priimek||(r.priimek="Priimek je obvezen"),(i=e.naslov)!=null&&i.trim()||(r.naslov="Naslov je obvezen")):t===y.LEGAL&&((s=e.naziv_organizacije)!=null&&s.trim()||(r.naziv_organizacije="Naziv organizacije je obvezen"),(h=e.naslov_organizacije)!=null&&h.trim()||(r.naslov_organizacije="Naslov organizacije je obvezen"),(c=e.davcna_stevilka)!=null&&c.trim()||(r.davcna_stevilka="Davčna številka je obvezna"),e.drzava==="SI"&&(/^((SI)?[0-9]{8})$/i.test(e.davcna_stevilka||"")||(r.davcna_stevilka="Davčna številka ali ID za DDV ni pravilna")),e.davcni_zavezanec||(r.davcni_zavezanec="Prosimo, izberite davčni status"),e.kontakt_ime||(r.kontakt_ime="Ime kontaktne osebe je obvezno"),e.kontakt_priimek||(r.kontakt_priimek="Priimek kontaktne osebe je obvezno")),(v=e.postna_stevilka)!=null&&v.trim()||(r.postna_stevilka="Poštna številka je obvezna"),e.drzava==="SI")if(!/^\d{4}$/.test(e.postna_stevilka||""))r.postna_stevilka="Poštna številka mora imeti 4 številke";else{const D=ce(e.postna_stevilka||"");D?e.posta!==D&&(e.posta=D):r.postna_stevilka="Poštna številka je neveljavna"}if((g=e.posta)!=null&&g.trim()||(r.posta="Pošta je obvezna"),(m=e.email)!=null&&m.trim()?gt(e.email)||(r.email="Vnesite veljaven e-mail naslov"):r.email="E-mail je obvezen",($=e.telefon)!=null&&$.trim()||(r.telefon="Telefonska številka je obvezna"),(S=e.naziv_projekta)!=null&&S.trim()||(r.naziv_projekta="Naziv projekta je obvezen"),e.datum_projekta||(r.datum_projekta="Datum začetka projekta je obvezen"),e.datum_projekta_do||(r.datum_projekta_do="Datum zaključka projekta je obvezen"),e.datum_projekta&&e.datum_projekta_do){const D=new Date(e.datum_projekta),Dt=new Date(e.datum_projekta_do),xt=new Date;new Date().setMonth(xt.getMonth()+2),Dt<=D&&(r.datum_projekta_do="Datum zaključka mora biti po datumu začetka")}if((O=e.opis_projekta)!=null&&O.trim()?e.opis_projekta.length>2e3&&(r.opis_projekta="Opis projekta je predolg (največ 2000 znakov)"):r.opis_projekta="Opis projekta je obvezen",e.opis_projekta_esg_enabled==="DA"&&((Me=e.opis_projekta_esg)!=null&&Me.trim()?e.opis_projekta_esg.length>2e3&&(r.opis_projekta_esg="Opis trajnostnih vidikov je predolg (največ 2000 znakov)"):r.opis_projekta_esg="Opis trajnostnih vidikov je obvezen"),!((Ie=e.predlagan_znesek)!=null&&Ie.trim()))r.predlagan_znesek="Predlog sredstev je obvezen";else{const D=parseFloat(e.predlagan_znesek);(isNaN(D)||D<=0)&&(r.predlagan_znesek="Vnesite veljaven znesek")}break;case f.PROJECT_DETAILS:e.podrocje||(r.podrocje="Področje projekta je obvezno"),e.podrocje==="drugo"&&!((Fe=e.drugo_podrocje)!=null&&Fe.trim())&&(r.drugo_podrocje="Vpišite področje projekta"),o===_.SPONSORSHIP&&((Re=e.nacin_oglasevanja)!=null&&Re.trim()?e.nacin_oglasevanja.length>2e3&&(r.nacin_oglasevanja="Opis možnosti promocije sponzorja je predolg (največ 2000 znakov)"):r.nacin_oglasevanja="Opišite možnosti promocije sponzorja"),e.dodatno_sporocilo&&e.dodatno_sporocilo.length>2e3&&(r.dodatno_sporocilo="Sporočilo je predolgo (največ 2000 znakov)"),(!e.gdpr_consent||e.gd
39pr_consent!=="true")&&(r.gdpr_consent="Strinjanje s splošnimi pogoji je obvezno");break}return{isValid:Object.keys(r).length===0,errors:r}}function mt(a,e,t){const o={};let r;for(let i=f.TYPE_SELECTION;i<=f.PROJECT_DETAILS;i++){const s=Ee(i,a,e,t);s.isValid||(Object.assign(o,s.errors),r===void 0&&(r=i))}return{isValid:Object.keys(o).length===0,errors:o,firstErrorStep:r}}function vt(a){const e={},o=["application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","image/jpeg","image/jpg","image/png"],r=[".pdf",".doc",".docx",".jpg",".jpeg",".png"];return a.forEach((i,s)=>{var v;const h="."+((v=i.name.split(".").pop())==null?void 0:v.toLowerCase());if(o.includes(i.type)||r.includes(h||"")||(e[`file_${s}_type`]=`${i.name}: Nepodprt tip datoteke`),i.size>15728640){const g=(i.size/1048576).toFixed(1);e[`file_${s}_size`]=`${i.name}: Datoteka je prevelika (${g}MB, max 15MB)`}}),{isValid:Object.keys(e).length===0,errors:e}}function gt(a){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(a)}const pe="sponsorship_form_state",bt=30*60*1e3;function Q(a){try{const t={...De(),...a,timestamp:Date.now()};sessionStorage.setItem(pe,JSON.stringify(t))}catch(e){console.warn("Failed to save form state:",e)}}function De(){const a={formData:{},entityType:null,sponsorshipType:null,currentStep:f.TYPE_SELECTION,timestamp:Date.now()};try{const e=sessionStorage.getItem(pe);if(!e)return a;const t=JSON.parse(e);return Date.now()-t.timestamp>bt?(xe(),a):([f.TYPE_SELECTION,f.PROJECT_DETAILS,f.APPLICANT_DATA].includes(t.currentStep)||(t.currentStep=f.TYPE_SELECTION),{...a,...t})}catch(e){return console.warn("Failed to load form state:",e),a}}function xe(){try{sessionStorage.removeItem(pe)}catch(a){console.warn("Failed to clear form state:",a)}}function ft(a){const e=()=>{document.hidden&&Q(a())},t=()=>{Q(a())};return document.addEventListener("visibilitychange",e),window.addEventListener("beforeunload",t),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("beforeunload",t)}}function jt(a,e=1e3){let t=null;return(o=!1)=>{if(t!==null&&clearTimeout(t),o){Q(a());return}t=window.setTimeout(()=>{Q(a()),t=null},e)}}const Ae={sl:{page:{title:"Vloga za sponzorstva in donacije",description:"Želite oddati vlogo za sponzorstvo ali donacijo? Oddajte jo vsaj dva meseca pred začetkom vašega projekta."},step1:{title:"Vabimo vas k oddaji vlog za sponzorstva in donacije.",description:{para1:"Z donacijami in sponzorstvi aktivno soustvarjamo priložnosti za razvoj v širšem družbenem okolju, zato z veseljem podpiramo projekte, ki prispevajo k pozitivnim spremembam.",para2:"Vloge sprejemamo izključno preko spodnjega obrazca. Za zagotovitev ustrezne izvedbe aktivnosti bodo obravnavane le tiste vloge, ki bodo oddane najmanj 60 dni pred načrtovanim dogodkom ali aktivnostjo.",para3:"Obravnavali bomo zgolj celovito in ustrezno izpolnjene prijave. V primeru dodelitve sredstev bodo izbrani vlagatelji dolžni poročati o porabi sredstev ter predložiti dokazila o izvedbi projekta.",para4:"Če prepoznavate priložnost za sodelovanje, vas vabimo, da izpolnite obrazec in nam predstavite svoj projekt."},typeSelection:{title:"Tip vloge",description:"Prosimo, izberite tip vloge:",sponsorship:"Sponzorstvo",donation:"Donacija"},entitySelection:{title:"Tip prosilca",description:"Prosimo, izberite tip prosilca:",physical:"Fizična oseba",legal:"Pravna oseba"}},step2:{applicantData:{title:"Podatki o prosilcu",requiredNote:"Vsi podatki, označeni z zvezdico (*), so obvezni.",firstName:"Ime",lastName:"Priimek",address:"Naslov",organizationName:"Naziv organizacije",organizationAddress:"Naslov organizacije",taxNumber:"Davčna številka ali ID za DDV",taxPayer:"Davčni zavezanec",country:"Država",postalCode:"Poštna številka",city:"Pošta"},contactData:{title:"Kontaktna oseba",firstName:"Ime kontaktne osebe",lastName:"Priimek kontaktne osebe",email:"E-mail",phone:"Telefonska številka"},projectData:{title:"Podatki o projektu",projectName:"Naziv projekta",startDate:"Predviden začetek projekta",endDate:"Predviden zaključek projekta",description:"Opis projekta",esgDescription:"Prosimo, obrazložite, kako vaš projekt naslavlja okoljske, družbene ali upravljalske (ESG) izzive.",esgDescriptionEnable:"Ali vaš projekt naslavlja katerega od trajnostnih izzivov?",esgDescriptionEnableYES:"DA",esgDescriptionEnableNO:"NE",esgPlaceholder:"",amount:"Predlog sredstev (v EUR)",website:"Spletna stran",facebook:"Facebook",instagram:"Instagram",linkedin:"LinkedIn",youtube:"Youtube",tiktok:"TikTok",newsletter:"E-novice",socialProfilesTitle:"Spletni mediji"},selectedType:"Tip vloge je že izbran:"},step3:{projectField:{title:"Področje projekta",selectField:"Izberite področje projekta",options:{sport:"Šport",culture:"Kultura",education:"Izobraževanje",humanitarian:"Humanitarnost",sustainability:"Trajnost",other:"Drugo"},customField:"Vpišite področje"},marketing:{title:"Tržno – komunikacijske aktivnosti",channels:"Navedite komunikacijske kanale za oglaševanje družbe BTC in/ali njenih blagovnih znamk",placeholder:"Npr.: e-novice, transparent, objava logotipa, spletn
39o oglaÅ¡evanje, oglaÅ¡evanje v tiskanih medijih ipd."},additionalMessage:{title:"Nam želite sporočiti Å¡e kaj?",label:"Dodatno sporočilo"},fileUpload:{title:"Priloge",dragDrop:"Kliknite za izbiro datotek ali povlecite datoteke sem",filesSelected:"datoteka izbrana|datoteke izbrane",supportedFiles:"Podprte datoteke: PDF, DOC, DOCX, JPG, PNG. Največja velikost posamezne datoteke: 15 MB"},gdpr:{agreement:"Strinjam se s",terms:"sploÅ¡nimi pogoji"}},navigation:{next:"Naprej",back:"Nazaj",submit:"PoÅ¡lji",submitting:"PoÅ¡iljam...",close:"Zapri",retry:"Poskusi znova",ok:"V redu"},validation:{required:"To polje je obvezno",email:"Vnesite veljaven e-mail naslov",postalCode:"PoÅ¡tna Å¡tevilka mora imeti 4 Å¡tevilke",taxNumber:"Davčna Å¡tevilka mora imeti 8 Å¡tevilk",dateRange:"Datum zaključka mora biti po datumu začetka",futureDate:"Projekt mora začeti najmanj 60 dni v prihodnosti",validAmount:"Vnesite veljaven znesek",maxLength:"Besedilo je predolgo (največ {max} znakov)",selectOption:"Prosimo, izberite možnost",fileSize:"Datoteka je prevelika (največ 15MB)",fileType:"Nepodprt tip datoteke",gdprRequired:"Strinjanje s sploÅ¡nimi pogoji je obvezno"},limits:{characters:"znakov",maxCharacters:"Do {max} znakov"},modals:{gdpr:{title:"Izjava o varstvu osebnih podatkov"},error:{title:"Napaka pri oddaji vloge",defaultMessage:"PriÅ¡lo je do napake. Prosimo, poskusite znova.",networkError:"PriÅ¡lo je do napake pri povezavi s strežnikom. Prosimo, preverite internetno povezavo in poskusite znova.",validationErrors:"Prosimo, popravite naslednje napake:"},success:{title:"Vloga uspeÅ¡no oddana",message:"VaÅ¡a vloga je bila uspeÅ¡no oddana.",referenceNumber:"Referenčna Å¡tevilka: {ref}"},loading:{title:"Oddajanje vloge...",message:"Prosimo, počakajte."}},success:{title:"Vloga je bila uspeÅ¡no oddana!",thankYou:"Hvala za vaÅ¡o vlogo, obravnali jo bomo v najkrajÅ¡em možnem času.",whatNext:{title:"Kaj sledi?",step1:{title:"Pregled vloge",description:"Vlogo bomo obravnavali celovito, upoÅ¡tevajoč tehtnost in aktualnost glede na poslanstvo in delovanje družbe BTC."},step2:{title:"Obvestilo o odločitvi",description:"O odločitvi vas bomo obvestili na e-naslov naveden v vlogi."},step3:{title:"Nadaljnje sodelovanje",description:"V primeru pozitivne odločitve vas dodatno obvestimo o podrobnostih sodelovanja."}},timeline:{title:"Pričakovani čas obravnave",description:"Vloge obravnavamo enkrat mesečno, v izjemnih primerih se postopek lahko podaljÅ¡a.",note:""},contact:{title:"Potrebujete dodatne informacije?",description:"Oglasite se nam na:",email:"[email protected]",phone:""},reference:{label:"Referenčna Å¡tevilka vloge:",note:"Shranite si to Å¡tevilko za lažje sledenje vaÅ¡i vlogi."},newApplication:"Oddaj novo vlogo"},options:{selectPlaceholder:"Izberite...",yes:"Da",no:"Ne"}},en:{page:{title:"Sponsorship and Donation Application",description:"Want to submit a sponsorship or donation application? Submit it at least two months before your project starts."},step1:{title:"We invite you to submit sponsorship and donation applications.",description:{para1:"Through donations and sponsorships, we actively co-create opportunities for development in the broader social environment, so we are happy to support projects that contribute to positive change.",para2:"Applications are accepted exclusively through the form below. To ensure proper implementation of activities, only applications submitted at least 60 days before the planned event or activity will be considered.",para3:"We will only consider complete and properly filled applications. In case of funding allocation, selected applicants will be required to report on the use of funds and provide evidence of project implementation.",para4:"If you recognize an opportunity for collaboration, we invite you to fill out the form and present your project to us."}
39,typeSelection:{title:"Application Type",description:"Please select the application type:",sponsorship:"Sponsorship",donation:"Donation"},entitySelection:{title:"Applicant Type",description:"Please select the applicant type:",physical:"Individual",legal:"Legal Entity"}},step2:{applicantData:{title:"Applicant Information",requiredNote:"All fields marked with an asterisk (*) are required.",firstName:"First Name",lastName:"Last Name",address:"Address",organizationName:"Organization name",organizationAddress:"Organization address",taxNumber:"Tax number",taxPayer:"Tax payer",country:"Country",postalCode:"Postal code",city:"City"},contactData:{title:"Contact Person",firstName:"Contact First Name",lastName:"Contact Last Name",email:"E-mail",phone:"Phone number"},projectData:{title:"Project Information",projectName:"Project name",startDate:"Expected project start date",endDate:"Expected project end date",description:"Project description",esgDescription:"Please describe how your project contributes to environmental, social or governance (ESG) goals or sustainable development goals (SDGs).",esgDescriptionEnable:"Does your project contributes to environmental, social or governance (ESG) goals or sustainable development goals (SDGs)?",esgDescriptionEnableYES:"YES",esgDescriptionEnableNO:"NO",esgPlaceholder:"",amount:"Requested amount (in EUR)",website:"Website",facebook:"Facebook",instagram:"Instagram",linkedin:"LinkedIn",youtube:"Youtube",tiktok:"TikTok",newsletter:"Newsletter",socialProfilesTitle:"Social media"},selectedType:"Application type already selected:"},step3:{projectField:{title:"Project Field",selectField:"Select project field",options:{sport:"Sports",culture:"Culture",education:"Education",humanitarian:"Humanitarian",sustainability:"Sustainability",other:"Other"},customField:"Enter field"},marketing:{title:"Marketing & Communication Activities",channels:"Possible communication channels for sponsor advertising",placeholder:"E.g.: banner, logo placement, online advertising, print media advertising, etc."},additionalMessage:{title:"Would you like to tell us anything else?",label:"Additional message"},fileUpload:{title:"Attachments",dragDrop:"Click to select files or drag files here",filesSelected:"file selected|files selected",supportedFiles:"Supported files: PDF, DOC, DOCX, JPG, PNG. Maximum file size: 15 MB"},gdpr:{agreement:"I agree to the",terms:"terms and conditions"}},navigation:{next:"Next",back:"Back",submit:"Submit",submitting:"Submitting...",close:"Close",retry:"Try Again",ok:"OK"},validation:{required:"This field is required",email:"Enter a valid email address",postalCode:"Postal code must have 4 digits",taxNumber:"Tax number must have 8 digits",dateRange:"End date must be after start date",futureDate:"Project must start at least 60 days in the future",validAmount:"Enter a valid amount",maxLength:"Text is too long (maximum {max} characters)",selectOption:"Please select an option",fileSize:"File is too large (maximum 15MB)",fileType:"Unsupported file type",gdprRequired:"Agreement to terms and conditions is required"},limits:{characters:"characters",maxCharacters:"Up to {max} characters"},modals:{gdpr:{title:"Privacy Policy Statement"},error:{title:"Application Submission Error",defaultMessage:"An error occurred. Please try again.",networkError:"A server connection error occurred. Please check your internet connection and try again.",validationErrors:"Please correct the following errors:"}
39,success:{title:"Application Successfully Submitted",message:"Your application has been successfully submitted.",referenceNumber:"Reference number: {ref}"},loading:{title:"Submitting application...",message:"Please wait."}},success:{title:"Application successfully submitted!",thankYou:"Thank you for your application, we will process it as soon as possible.",whatNext:{title:"What happens next?",step1:{title:"Application review",description:"We will review the application comprehensively, considering its significance and relevance in relation to BTC company's mission and operations."},step2:{title:"Decision notification",description:"We will notify you of the decision via the email address provided in the application."},step3:{title:"Further cooperation",description:"In case of a positive decision, we will additionally inform you about the details of cooperation."}},timeline:{title:"Expected processing time",description:"Applications are processed once a month, in exceptional cases the process may be extended.",note:""},contact:{title:"Need additional information?",description:"Contact us at:",email:"[email protected]",phone:""},reference:{label:"Application reference number:",note:"Save this number for easier tracking of your application."},newApplication:"Submit New Application"},options:{selectPlaceholder:"Select...",yes:"Yes",no:"No"}}};let Ce="sl";function Te(a){Ce=a}function Le(a,e){return e.split(".").reduce((t,o)=>t&&t[o]?t[o]:void 0,a)}function n(a,e){const t=Le(Ae[Ce],a)||Le(Ae.en,a)||a;return typeof t!="string"?a:t}var kt=Object.defineProperty,yt=Object.getOwnPropertyDescriptor,de=(a,e,t,o)=>{for(var r=o>1?void 0:o?yt(e,t):e,i=a.length-1,s;i>=0;i--)(s=a[i])&&(r=(o?s(e,t,r):s(r))||r);return o&&r&&kt(e,t,r),r};d.StepIndicator=class extends E{constructor(){super(...arguments),this.currentStep=f.TYPE_SELECTION,this.totalSteps=3}render(){return l`
40      <div class="step-container">
41        ${Array.from({length:this.totalSteps},(e,t)=>l`
42          ${t>0?l`
43            <div class="step-connector ${u({completed:t<=this.currentStep})}"></div>
44          `:""}
45          
46          <div class="step ${u({active:t===this.currentStep,completed:t<this.currentStep})}">
47            ${t<this.currentStep?"✓":t+1}
48          </div>
49        `)}
50      </div>
51    `}},d.StepIndicator.styles=q`
52    :host {
53      display: block;
54      margin-bottom: 2rem;
55    }
56
57    .step-container {
58      display: flex;
59      align-items: center;
60      justify-content: center;
61    }
62
63    .step {
64      display: flex;
65      align-items: center;
66      justify-content: center;
67      width: 2rem;
68      height: 2rem;
69      border-radius: 50%;
70      font-size: 0.875rem;
71      font-weight: 500;
72      transition: all 0.2s ease;
73      border: 2px solid rgb(var(--border-color));
74      background: rgb(var(--background));
75      color: rgb(var(--text-color));
76      font-family: var(--font-family-secondary);
77    }
78
79    .step.active {
80      border-color: rgb(var(--primary-color));
81      color: rgb(var(--primary-color));
82    }
83
84    .step.completed {
85      border-color: rgb(var(--primary-color));
86      background: rgb(var(--primary-color));
87      color: white;
88    }
89
90    .step-connector {
91      flex: 1;
92      height: 2px;
93      margin: 0 1rem;
94      background: rgb(var(--border-color));
95      transition: all 0.2s ease;
96    }
97
98    .step-connector.completed {
99      background: rgb(var(--primary-color));
100    }
101
102    @media (max-width: 640px) {
103      .step-container {
104        flex-direction: column;
105        gap: 1rem;
106      }
107
108      .step-connector {
109        width: 2px;
110        height: 1rem;
111        margin: 0;
112      }
113    }
114  `,de([k({type:Number})],d.StepIndicator.prototype,"currentStep",2),de([k({type:Number})],d.StepIndicator.prototype,"totalSteps",2),d.StepIndicator=de([X("step-indicator")],d.StepIndicator);var $t=Object.defineProperty,St=Object.getOwnPropertyDescriptor,ee=(a,e,t,o)=>{for(var r=o>1?void 0:o?St(e,t):e,i=a.length-1,s;i>=0;i--)(s=a[i])&&(r=(o?s(e,t,r):s(r))||r);return o&&r&&$t(e,t,r),r};d.FileUpload=class extends E{constructor(){super(...arguments),this.selectedFiles=[],this.dragOver=!1,this.errors=[]}handleFileSelect(e){if(!e)return;const t=Array.from(e),o=vt(t);if(!o.isValid){this.errors=Object.values(o.errors);return}this.errors=[];const r=[...this.selectedFiles,...t];this.selectedFiles=r,this.dispatchEvent(new CustomEvent("files-changed",{detail:{files:this.selectedFiles},bubbles:!0}))}removeFile(e){const t=this.selectedFiles.filter((o,r)=>r!==e);this.selectedFiles=t,this.dispatchEvent(new CustomEvent("files-changed",{detail:{files:this.selectedFiles},bubbles:!0}))}handleDragOver(e){e.preventDefault(),this.dragOver=!0}handleDragLeave(e){e.preventDefault(),this.dragOver=!1}handleDrop(e){var t;e.preventDefault(),this.dragOver=!1,this.handleFileSelect(((t=e.dataTransfer)==null?void 0:t.files)||null)}formatFileSize(e){if(e===0)return"0 B";const t=1024,o=["B","KB","MB","GB"],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,r)).toFixed(1))+" "+o[r]}render(){return l`
115      <div class="form-field">
116        <label class="form-label">Priloge</label>
117        
118        <div 
119          class="upload-area ${this.dragOver?"drag-over":""}"
120          @click=${this.openFileDialog}
121          @dragover=${this.handleDragOver}
122          @dragleave=${this.handleDragLeave}
123          @drop=${this.handleDrop}>
124          
125          <div class="upload-icon">
126            <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
127              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 
128                    d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"></path>
129            </svg>
130          </div>
131          
132          <div class="upload-text">
133            ${this.selectedFiles.length===0?"Kliknite za izbiro datotek ali povlecite datoteke sem":`${this.selectedFiles.length} ${this.selectedFiles.length===1?"datoteka izbrana":"datoteke izbrane"}`}
134          </div>
135          
136          <div class="upload-hint">
137            Podprte datoteke: PDF, DOC, DOCX, JPG, PNG. Največja velikost posamezne datoteke: 15 MB
138          </div>
139        </div>
140
141        <input
142          type="file"
143          class="hidden"
144          multiple
145          accept=".pdf,.doc,.docx,.jpg,.jpeg,.png"
146          @change=${e=>this.handleFileSelect(e.target.files)}
147        />
148
149        ${this.errors.length>0?l`
150          <div class="error-message">
151            ${this.errors.map(e=>l`<div>${e}</div>`)}
152          </div>
153        `:""}
154
155        ${this.selectedFiles.length>0?l`
156          <div class="file-list">
157            ${this.selectedFiles.map((e,t)=>l`
158              <div class="file-item">
159                <div class="file-info">
160                  <span class="file-name">${e.name}</span>
161                  <span class="file-size">(${this.formatFileSize(e.size)})</span>
162                </div>
163                <button 
164                  type="button"
165                  class="remove-btn"
166                  @click=${o=>{o.stopPropagation(),this.removeFile(t)}}>
167                  ×
168                </button>
169              </div>
170            `)}
171          </div>
172        `:""}
173      </div>
174    `}openFileDialog(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector('input[type="file"]');e==null||e.click()}},d.FileUpload.styles=q`
175    :host {
176      display: block;
177    }
178
179    .upload-area {
180      border: 2px dashed rgb(var(--border-color));
181      border-radius: var(--border-radius-lg);
182      padding: 2rem;
183      text-align: center;
184      transition: all 0.2s ease;
185      cursor: pointer;
186      background: rgb(var(--background));
187    }
188
189    .upload-area:hover {
190      border-color: rgb(var(--primary-color));
191      background: rgb(var(--primary-color) / 0.02);
192    }
193
194    .upload-area.drag-over {
195      border-color: rgb(var(--primary-color));
196      background: rgb(var(--primary-color) / 0.05);
197    }
198
199    .upload-icon {
200      width: 2rem;
201      height: 2rem;
202      margin: 0 auto 1rem;
203      color: rgb(var(--text-color) / 0.5);
204    }
205
206    .upload-text {
207      font-size: 0.875rem;
208      color: rgb(var(--text-color));
209      font-family: var(--font-family-primary);
210      margin-bottom: 0.5rem;
211    }
212
213    .upload-hint {
214      font-size: 0.75rem;
215      color: rgb(var(--text-color) / 0.7);
216      font-family: var(--font-family-primary);
217    }
218
219    .file-list {
220      margin-top: 1rem;
221      display: flex;
222      flex-direction: column;
223      gap: 0.5rem;
224    }
225
226    .file-item {
227      display: flex;
228      align-items: center;
229      justify-content: space-between;
230      padding: 0.75rem;
231      background: rgb(var(--background));
232      border: 1px solid rgb(var(--border-color));
233      border-radius: var(--border-radius);
234    }
235
236    .file-info {
237      display: flex;
238      align-items: center;
239      flex: 1;
240      min-width: 0;
241    }
242
243    .file-name {
244      font-size: 0.875rem;
245      color: rgb(var(--text-color));
246      font-family: var(--font-family-primary);
247      truncate: true;
248      flex: 1;
249    }
250
251    .file-size {
252      font-size: 0.75rem;
253      color: rgb(var(--text-color) / 0.7);
254      margin-left: 0.5rem;
255    }
256
257    .remove-btn {
258      background: none;
259      border: none;
260      color: rgb(var(--error-color));
261      font-size: 1.125rem;
262      font-weight: bold;
263      cursor: pointer;
264      padding: 0.25rem;
265      margin-left: 0.5rem;
266      border-radius: 0.25rem;
267      transition: background-color 0.2s ease;
268    }
269
270    .remove-btn:hover {
271      background: rgb(var(--error-color) / 0.1);
272    }
273
274    .hidden {
275      display: none;
276    }
277
278    .error-message {
279      color: rgb(var(--error-color));
280      font-size: 0.75rem;
281      margin-top: 0.5rem;
282      font-family: var(--font-family-primary);
283    }
284  `,ee([k({type:Array})],d.FileUpload.prototype,"selectedFiles",2),ee([j()],d.FileUpload.prototype,"dragOver",2),ee([j()],d.FileUpload.prototype,"errors",2),d.FileUpload=ee([X("file-upload")],d.FileUpload);var _t=Object.defineProperty,zt=Object.getOwnPropertyDescriptor,H=(a,e,t,o)=>{for(var r=o>1?void 0:o?zt(e,t):e,i=a.length-1,s;i>=0;i--)(s=a[i])&&(r=(o?s(e,t,r):s(r))||r);return o&&r&&_t(e,t,r),r};let N=class extends E{constructor(){super(...arguments),this.open=!1,this.title="",this.type="gdpr",this.message="",this.handleKeydown=a=>{a.key==="Escape"&&this.open&&this.close()}}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",this.handleKeydown)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",this.handleKeydown)}handleBackdropClick(a){a.target===a.currentTarget&&this.close()}close(){this.open=!1,this.dispatchEvent(new CustomEvent("modal-close",{bubbles:!0}))}render(){return this.open?l`
285      <div class="backdrop" @click=${this.handleBackdropClick}></div>
286      <div class="modal-content">
287        <div class="modal-header">
288          <h3 class="modal-title">
289            ${this.title||this.getDefaultTitle()}
290          </h3>
291          <button
292            type="button"
293            class="close-button"
294            @click=${this.close}
295            aria-label="Close modal">
296            ×
297          </button>
298        </div>
299        
300        <div class="modal-body">
301          ${this.renderContent()}
302        </div>
303      </div>
304    `:l``}getDefaultTitle(){switch(this.type){case"gdpr":return"Izjava o varstvu osebnih podatkov";case"error":return"Napaka pri oddaji vloge";case"success":return"Vloga uspešno oddana";case"loading":return"Oddajanje vloge...";default:return""}}renderContent(){switch(this.type){case"gdpr":return this.renderGdprContent();case"error":return this.renderErrorContent();case"success":return this.renderSuccessContent();case"loading":return this.renderLoadingContent();default:return l`<p>${this.message}</p>`}}renderGdprContent(){return l`
305      <p><strong>INFORMACIJE O VARSTVU OSEBNIH PODATKOV</strong></p>
306<p><strong>Kdo in zakaj zbira vaše podatke?</strong></p>
307<p>BTC d.d., kot upravljavec zbirke osebnih podatkov zbira naslednje osebne podatke, ker jih potrebuje za preučitev predloga ali pripravo predloga ponudbe oz. predloga pogodbe v zvezi s sponzoriranjem ali doniranjem:</p>
308<ul>
309<li>Ime in priimek, v kolikor gre za prosilca, ki je fizična oseba ali kontaktne osebe, v kolikor je prosilec pravna oseba,  </li>
310<li>naslov prosilca </li>
311<li>Ime in priimek prejemnika (v kolikor ni ista oseba kot prosilec),  </li>
312<li>naslov prejemnika,  </li>
313<li>davčna številka prejemnika,  </li>
314<li>telefonska številka in e-naslov kontaktne osebe organizacije ali prosilca ter prejemnika. </li>
315</ul>
316<p>Brez posredovanja teh podatkov obravnava vlog oz. izvedba želenih storitev ni možna. Soglasje k obdelavi podatkov, ki se poda ob izpolnitvi vloge za sponzorstvo ali donacijo je pravna podlaga za obdelavo podatkov (člen 6 (1a) Splošne uredbe EU 2016/679), v primeru podelitve sponzorstva oz. donacije (sklenitve pogodbe), pa je pravna podlaga 
316izvajanje pogodbe (člen 6 (1b) Splošne uredbe EU 2016/679).</p>
317<p><strong>Kako dolgo hranimo vaše osebne podatke?</strong></p>
318<p>Zbrani osebni podatki se hranijo toliko časa, dokler je to potrebno za doseg namena, za katerega so zbrani oziroma toliko časa, kot je to potrebno za zagotavljanje naših pogodbenih in zakonitih interesov. V primeru, da do sklenitve pogodbe ne pride, se podatki izbrišejo ali anonimizirajo najkasneje v roku 5 let od dneva posredovanja podatkov.</p>
319<p><strong>Ali vaše osebne podatke posredujemo tretjim osebam?</strong></p>
320<p>Osebni podatki, zbrani za potrebe naročila za izvedbo storitev se posredujejo izbranim tretjim osebam, ponudnikom storitev ter drugim tretjim osebam v primerih zakonitega razkritja. Tretje osebe imajo dostop do osebnih podatkov, potrebnih za opravljanje njihovih funkcij, vendar jih ne smejo uporabljati za druge namene. Poleg tega morajo obdelovati te osebne podatke skladno s to izjavo o varstvu osebnih podatkov in tako, kot to dovoljujejo veljavni zakoni in predpisi o varstvu podatkov.</p>
321<p>Nobenih podatkov, ki nam jih posredujete, ne prenašamo v tretjo državo ali v mednarodno organizacijo.</p>
322<p><strong>Kakšne pravice imam v zvezi z obdelavo mojih podatkov?</strong></p>
323<p>V zvezi s tem, kako se vaÅ¡i osebni podatki obdelujejo, imate več pravic, ki so opisane na spodnji povezavi, te pravice pa lahko uveljavljate kadarkoli. Svoje pravice lahko uveljavljate tako, da poÅ¡ljete e-poÅ¡tno sporočilo na elektronski poÅ¡tni naslov: <a href="mailto:[email protected]">[email protected]</a>.</p>
324<p><strong>Na spodnji povezavi je pregled teh pravic skupaj s pojasnilom, kdaj jih lahko uveljavljate:</strong></p>
325<p><strong>Pravica do preklica soglasja.</strong> Kadarkoli v prihodnosti lahko prekličete soglasje, ki ste nam ga dali za obdelavo osebnih podatkov, če podatki niso potrebni za izpolnjevanje pogodbenega namena.</p>
326<p><strong>Pravica do dostopa in popravka.</strong> Imate pravico do dostopa do svojih osebnih podatkov, njihovega popravka ali posodobitve ob katerem koli času.</p>
327<p><strong>Pravica do prenosljivosti podatkov.</strong> Osebni podatki, ki ste nam jih posredovali, so prenosljivi. Osebne podatke, ki jih obdelujemo na podlagi vašega soglasja, lahko na vašo zahtevo prejmete v strukturirani in berljivi obliki in jih prosto prenašate drugim upravljavcem.</p>
328<p><strong>Pravica do pozabe (izbrisa).</strong> Brez nepotrebnega odlašanja bomo izbrisali osebne podatke v zvezi z vami, v obsegu, kot ga dovoljuje veljavna zakonodaja (podatkov, ki jih potrebujemo za izvajanje pogodbe, ki ste jo sklenili z nami, in podatkov, ki jih potrebujemo za izvajanje naših zakonskih pravic in obveznosti, kljub vaši zahtevi ne bomo mogli izbrisati).</p>
329<p><strong>Pravica do ugovora.</strong> Kadarkoli lahko ugovarjate obdelavi vaših osebnih podatkov. </p>
330<p><strong>Pravica do omejitve obdelave.</strong> Če oporekate točnosti podatkov ali menite, da je obdelava nezakonita, menite, da vaših podatkov ne potrebujemo več ali čakate na odgovor v zvezi ugovorom, ki ste ga vložili, imate pravico, da omejite obdelavo svojih osebnih podatkov.</p>
331<p><strong>Pravica do vložitve pritožbe.</strong> Imate pravico, da neposredno pri Informacijskem pooblaščencu vložite pritožbo glede tega, kako obdelujemo vaÅ¡e osebne podatke. Pritožbo Informacijskemu pooblaščencu lahko podate z uporabo naslednjih kontaktnih podatkov: Dunajska cesta 22, 1000 Ljubljana, e-naslov: <a href="mailto:[email protected]">[email protected]</a> telefon: 012309730, spletna stran: <a href="http://www.ip-rs.si/">www.ip-rs.si</a>.</p>
332<p>V zvezi s popravkom, izbrisom osebnih podatkov ali omejitvijo obdelave vam bomo sporočili vse popravke ali izbrise osebnih podatkov ali omejitve obdelave, razen če se to izkaže za nemogoče ali vključuje nesorazmeren napor.</p>
333<p>Ker skrbimo za ažurnost naše izjave o varstvu osebnih podatkov, jo redno posodabljamo.</p>
334<p>Datum zadnje posodobitve: 15.10.2025</p>
335    `}renderErrorContent(){return l`
336      <div style="text-align: center;">
337        <!-- Error Icon -->
338        <div style="margin: 0 auto 1rem; width: 3rem; height: 3rem; border-radius: 50%; background: rgb(var(--error-color) / 0.1); display: flex; align-items: center; justify-content: center;">
339          <svg style="width: 1.5rem; height: 1.5rem; color: rgb(var(--error-color));" fill="none" stroke="currentColor" viewBox="0 0 24 24">
340            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
341          </svg>
342        </div>
343
344        <p style="margin-bottom: 1.5rem; white-space: pre-line;">
345          ${this.message||"Prišlo je do napake. Prosimo, poskusite znova."}
346        </p>
347
348        <div style="display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap;">
349          <button
350            type="button"
351            class="btn-primary"
352            @click=${this.dispatchRetry}
353            style="background: rgb(var(--primary-color)); color: white; border: 1px solid rgb(var(--primary-color)); border-radius: var(--border-radius); padding: 0.75rem 1.5rem; font-size: 0.875rem; font-weight: 500; cursor: pointer;">
354            Poskusi znova
355          </button>
356          <button
357            type="button"
358            class="btn-outline"
359            @click=${this.close}
360            style="background: transparent; color: rgb(var(--primary-color)); border: 1px solid rgb(var(--primary-color)); border-radius: var(--border-radius); padding: 0.75rem 1.5rem; font-size: 0.875rem; font-weight: 500; cursor: pointer;">
361            Zapri
362          </button>
363        </div>
364      </div>
365    `}renderSuccessContent(){return l`
366      <div style="text-align: center;">
367        <!-- Success Icon -->
368        <div style="margin: 0 auto 1rem; width: 3rem; height: 3rem; border-radius: 50%; background: rgb(var(--success-color) / 0.1); display: flex; align-items: center; justify-content: center;">
369          <svg style="width: 1.5rem; height: 1.5rem; color: rgb(var(--success-color));" fill="none" stroke="currentColor" viewBox="0 0 24 24">
370            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
371          </svg>
372        </div>
373
374        <p style="margin-bottom: 1.5rem;">
375          ${this.message||"Vloga je bila uspešno oddana."}
376        </p>
377
378        <button
379          type="button"
380          @click=${this.close}
381          style="background: rgb(var(--primary-color)); color: white; border: 1px solid rgb(var(--primary-color)); border-radius: var(--border-radius); padding: 0.75rem 2rem; font-size: 0.875rem; font-weight: 500; cursor: pointer;">
382          V redu
383        </button>
384      </div>
385    `}renderLoadingContent(){return l`
386      <div style="text-align: center;">
387        <!-- Loading Spinner -->
388        <div style="margin: 0 auto 1rem; display: flex; justify-content: center;">
389        <div class="loading-spinner"></div>
390      </div>
391
392        <p style="margin-bottom: 0.5rem; font-weight: 500;">
393          ${this.title||"Oddajanje vloge..."}
394        </p>
395        <p style="color: rgb(var(--text-color) / 0.7); font-size: 0.875rem;">
396          ${this.message||"Prosimo, počakajte."}
397        </p>
398      </div>
399    `}dispatchRetry(){this.dispatchEvent(new CustomEvent("modal-retry",{bubbles:!0}))}};N.styles=q`
400    :host {
401      position: fixed;
402      top: 0;
403      left: 0;
404      width: 100vw;
405      height: 100vh;
406      z-index: 1000;
407      display: flex;
408      align-items: center;
409      justify-content: center;
410      padding: 1rem;
411      box-sizing: border-box;
412    }
413
414    .backdrop {
415      position: absolute;
416      inset: 0;
417      background: rgb(0 0 0 / 0.5);
418      backdrop-filter: blur(2px);
419    }
420
421    .modal-content {
422      position: relative;
423      background: rgb(var(--background));
424      border-radius: var(--border-radius-lg);
425      box-shadow: var(--shadow-lg);
426      max-width: 42rem;
427      width: 100%;
428      max-height: 80vh;
429      overflow-y: auto;
430      padding: 1.5rem;
431      z-index: 1;
432      box-sizing: border-box;
433    }
434
435    .modal-header {
436      display: flex;
437      justify-content: space-between;
438      align-items: center;
439      margin-bottom: 1rem;
440      padding-bottom: 1rem;
441      border-bottom: 1px solid rgb(var(--border-color));
442    }
443
444    .modal-title {
445      font-size: 1.125rem;
446      font-weight: 600;
447      color: rgb(var(--text-color));
448      font-family: var(--font-family-secondary);
449      margin: 0;
450    }
451
452    .close-button {
453      background: none;
454      border: none;
455      font-size: 1.5rem;
456      color: rgb(var(--text-color) / 0.7);
457      cursor: pointer;
458      padding: 0.25rem;
459      border-radius: var(--border-radius);
460      transition: all 0.2s ease;
461    }
462
463    .close-button:hover {
464      color: rgb(var(--primary-color));
465      background: rgb(var(--primary-color) / 0.1);
466    }
467
468    .modal-body {
469      color: rgb(var(--text-color));
470      font-family: var(--font-family-primary);
471      line-height: 1.6;
472    }
473
474    .modal-body h3 {
475      font-size: 1rem;
476      font-weight: 600;
477      margin: 1.5rem 0 0.5rem 0;
478      color: rgb(var(--text-color));
479      font-family: var(--font-family-secondary);
480    }
481
482    .modal-body h3:first-child {
483      margin-top: 0;
484    }
485
486    .modal-body p {
487      margin: 0 0 1rem 0;
488      font-size: 0.875rem;
489    }
490
491    .modal-body ul {
492      margin: 0.5rem 0 1rem 1.5rem;
493      font-size: 0.875rem;
494    }
495
496    .modal-body li {
497      margin-bottom: 0.25rem;
498    }
499
500    .modal-body em {
501      font-style: italic;
502      color: rgb(var(--text-color) / 0.8);
503    }
504
505    .modal-body a {
506      color: rgb(var(--primary-color));
507      text-decoration: underline;
508    }
509
510    .modal-body a:hover {
511      text-decoration: none;
512    }
513
514    .hidden {
515      display: none !important;
516    }
517
518    @media (max-width: 640px) {
519      :host {
520        padding: 0.5rem;
521      }
522
523      .modal-content {
524        padding: 1rem;
525        max-height: 90vh;
526      }
527
528      .modal-title {
529        font-size: 1rem;
530      }
531    }
532
533    .loading-spinner {
534  width: 2rem;
535  height: 2rem;
536  border: 4px solid rgb(var(--border-color));
537  border-top: 4px solid rgb(var(--primary-color));
538  border-radius: 50%;
539  animation: spin 1s linear infinite;
540  margin: 0 auto;
541}
542
543@keyframes spin {
544  0% { transform: rotate(0deg); }
545  100% { transform: rotate(360deg); }
546}
547  `,H([k({type:Boolean})],N.prototype,"open",2),H([k({type:String})],N.prototype,"title",2),H([k({type:String})],N.prototype,"type",2),H([k({type:String})],N.prototype,"message",2),N=H([X("modal-dialog")],N);var wt=Object.defineProperty,Pt=Object.getOwnPropertyDescriptor,b=(a,e,t,o)=>{for(var r=o>1?void 0:o?Pt(e,t):e,i=a.length-1,s;i>=0;i--)(s=a[i])&&(r=(o?s(e,t,r):s(r))||r);return o&&r&&wt(e,t,r),r};const Ne=["sl","en"],Y="sl",Et="";d.SponsorshipForm=class extends E{constructor(){super(...arguments),this.apiEndpoint=Et,this.language=Y,this.successRedirect="",this.theme="default",this.apiKey="",this.tenantId="",this.currentStep=f.TYPE_SELECTION,this.formData={},this.entityType=null,this.sponsorshipType=null,this.errors={},this.isSubmitting=!1,this.selectedFiles=[],this.showGdprModal=!1,this.showErrorModal=!1,this.showSuccessModal=!1,this.showLoadingModal=!1,this.modalMessage="",this.characterCounts={},this.currentLanguage=this.language,this.showSuccessView=!1,this.successReferenceNumber="",this.debouncedSave=jt(()=>({formData:this.formData,entityType:this.entityType,sponsorshipType:this.sponsorshipType,currentStep:this.currentStep}))}connectedCallback(){super.connectedCallback();let e=this.language;Ne.includes(e)||(console.warn(`Unsupported language "${e}". Defaulting to "${Y}".`),e=Y),this.currentLanguage=e,Te(e),this.applyCustomTheme(),this.checkUrlForSuccess(),this.showSuccessView||(this.loadSavedState(),this.setupAutoSave())}startNewApplication(){this.showSuccessView=!1,this.successReferenceNumber="";const e=new URL(window.location.href);e.searchParams.delete("ref"),window.history.pushState({},"",e.toString()),this.formData={},this.entityType=null,this.sponsorshipType=null,this.selectedFiles=[],this.currentStep=f.TYPE_SELECTION,this.errors={},this.scrollToTop()}updated(e){if(super.updated(e),e.has("language")){let t=this.language;Ne.includes(t)||(console.warn(`Unsupported language "${t}". Defaulting to "${Y}".`),t=Y),t!=this.currentLanguage&&(this.currentLanguage=t,Te(t))}e.has("theme")&&this.applyCustomTheme()}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.cleanupAutoSave)==null||e.call(this)}get validThemeProperties(){return["primary-color","primary-hover","border-color","text-color","background","error-color","success-color","font-family-primary","font-family-secondary","border-radius","border-radius-lg","shadow","shadow-lg"]}resetCustomTheme(){this.validThemeProperties.forEach(e=>{this.style.removeProperty(`--${e}`)})}applyCustomTheme(){if(this.theme&&typeof this.theme=="string"&&this.theme.length>1&&this.theme.startsWith("{"))try{this.resetCustomTheme();const e=typeof this.theme=="string"?JSON.parse(this.theme):this.theme;Object.entries(e).forEach(([t,o])=>{this.validThemeProperties.includes(t)&&this.style.setProperty(`--${t}`,o)})}catch(e){console.warn("Invalid theme configuration:",e)}else this.resetCustomTheme()}loadSavedState(){try{const e=De();e.timestamp&&Date.now()-e.timestamp<30*60*1e3&&(this.formData=e.formData,this.entityType=e.entityType,this.sponsorshipType=e.sponsorshipType,this.currentStep=e.currentStep,this.updateCharacterCounts())}catch(e){console.warn("Failed to load saved state:",e)}}checkUrlForSuccess(){const t=new URLSearchParams(window.location.search).get("ref");t&&(this.showSuccessView=!0,this.successReferenceNumber=t,this.formData={},this.entityType=null,this.sponsorshipType=null,this.selectedFiles=[],this.currentStep=f.TYPE_SELECTION)}setupAutoSave(){this.cleanupAutoSave=ft(()=>({formData:this.formData,entityType:this.entityType,sponsorshipType:this.sponsorshipType,currentStep:this.currentStep}))}updateCharacterCounts(){["opis_projekta","opis_projekta_esg","nacin_oglasevanja","dodatno_sporocilo"].forEach(t=>{const o=this.formData[t];typeof o=="string"&&(this.characterCounts={...this.characterCounts,[t]:o.length})})}handleTypeSelection(e,t){this.sponsorshipType=t,this.formData={...this.formData,sponsorship_type:t}}handleEntitySelection(e){this.entityType=e,this.formData={...this.formData,entity_type:e}}handleInputChange(e,t){if(this.formData={...this.formData,[e]:t},this.errors[e]){const o={...this.errors};delete o[e],this.errors=o}this.debouncedSave()}handleTextareaChange(e,t,o){this.handleInputChange(e,t),this.characterCounts={...this.characterCounts,[e]:t.length}}nextStep(){const e=Ee(this.currentStep,this.formData,this.entityType,this.sponsorshipType);if(!e.isValid){this.errors=e.errors,this.scrollToFirstError();return}this.errors={},this.currentStep=this.currentStep+1,this.scrollToTop(),this.debouncedSave(!0)}previousStep(){this.currentStep=this.currentStep-1,this.scrollToTop(),this.debouncedSave(!0)}async handleSubmit(e){e.preventDefault();const t=mt(this.formData,this.entityType,this.sponsorshipType);if(!t.isValid){this.errors=t.errors,this.currentStep=t.firstErrorStep||f.TYPE_SELECTION,this.scrollToFirstError(),this.showErrorModal=!0,this.modalMessage=`${n("modals.error.validationErrors")}
548${Object.values(t.errors).join(`
549`)}`;return}this.showLoadingModal=!0,this.isSubmitting=!0;try{const o=await ht(this.formData,this.selectedFiles,this.apiEndpoint,this.apiKey,this.tenantId,this.currentLanguage);if(this.showLoadingModal=!1,o.success)if(xe(),this.successRedirect)window.location.href=`${this.successRedirect}?ref=${o.referenceNumber}`;else{this.formData={},this.entityType=null,this.sponsorshipType=null,this.selectedFiles=[],this.currentStep=f.TYPE_SELECTION,this.showSuccessView=!0,this.successReferenceNumber=o.referenceNumber||"";
549const r=new URL(window.location.href);r.searchParams.set("ref",o.referenceNumber||""),window.history.pushState({success:!0},"",r.toString()),this.dispatchEvent(new CustomEvent("form-submitted",{detail:{referenceNumber:o.referenceNumber},bubbles:!0}))}else this.showErrorModal=!0,this.modalMessage=o.message||n("modals.error.defaultMessage")}catch(o){console.error(o),this.showLoadingModal=!1,this.showErrorModal=!0,this.modalMessage=n("modals.error.networkError")}finally{this.isSubmitting=!1}}openGdprModal(){this.showGdprModal=!0}closeModal(e){switch(e){case"gdpr":this.showGdprModal=!1;break;case"error":this.showErrorModal=!1;break;case"success":this.showSuccessModal=!1;break;case"loading":this.showLoadingModal=!1;break}}handleModalRetry(){var t,o;this.closeModal("error");const e=new Event("submit",{bubbles:!0,cancelable:!0});(o=(t=this.shadowRoot)==null?void 0:t.querySelector("form"))==null||o.dispatchEvent(e)}scrollToTop(){this.scrollIntoView({behavior:"smooth",block:"start"})}canProceedStep1(){return this.sponsorshipType&&this.entityType}clearPostalCodeError(){if(this.errors.postna_stevilka){const e={...this.errors};delete e.postna_stevilka,delete e.posta,this.errors=e}}get isSlovenia(){return(this.formData.drzava||"SI").toUpperCase()==="SI"}handleCountryChange(e){this.handleInputChange("drzava",e),e.toUpperCase()!=="SI"&&(this.formData={...this.formData,drzava:e,postna_stevilka:"",posta:""})}handlePostalCodeInput(e){const t=e.target,o=t.value,r=t.selectionStart||0;if(this.clearPostalCodeError(),this.isSlovenia&&r===o.length&&o.length>0&&o.length<4){const i=dt(o);if(i){this.formData={...this.formData,postna_stevilka:i},t.value=i,setTimeout(()=>{t.setSelectionRange(o.length,i.length)},0);const s=ce(i);s&&(this.formData={...this.formData,posta:s}),this.requestUpdate();return}else this.formData={...this.formData,posta:""}}if(this.handleInputChange("postna_stevilka",o),this.isSlovenia&&o.length===4){const i=ce(o);this.formData={...this.formData,posta:i||""}}}scrollToFirstError(){setTimeout(()=>{var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector(".form-input.error, .form-select.error, .form-textarea.error");e&&(e.scrollIntoView({behavior:"smooth",block:"center"}),e.focus())},100)}render(){return l`
550      <div class="form-content">
551        ${this.showSuccessView?this.renderSuccessView():l`
552          <step-indicator 
553            .currentStep=${this.currentStep}
554            .totalSteps=${3}>
555          </step-indicator>
556
557          <form @submit=${this.handleSubmit} novalidate>
558            ${this.renderCurrentStep()}
559          </form>
560        `}
561      </div>
562
563      <!-- Only render modals when they should be visible -->
564      ${this.showGdprModal?l`<modal-dialog .open=${!0} type="gdpr" @modal-close=${()=>this.closeModal("gdpr")}></modal-dialog>`:p}
565      ${this.showErrorModal?l`<modal-dialog .open=${!0} type="error" .message=${this.modalMessage} @modal-close=${()=>this.closeModal("error")} @modal-retry=${this.handleModalRetry}></modal-dialog>`:p}
566      ${this.showSuccessModal?l`<modal-dialog .open=${!0} type="success" .message=${this.modalMessage} @modal-close=${()=>this.closeModal("success")}></modal-dialog>`:p}
567      ${this.showLoadingModal?l`<modal-dialog .open=${!0} type="loading" @modal-close=${()=>this.closeModal("loading")}></modal-dialog>`:p}
568    `}renderCurrentStep(){switch(this.currentStep){case f.TYPE_SELECTION:return this.renderStep1();case f.APPLICANT_DATA:return this.renderStep2();case f.PROJECT_DETAILS:return this.renderStep3();default:return p}}renderStep1(){return l`
569      <div class="text-center step-intro">
570        <h2>${n("step1.title")}</h2>
571        <div class="description">
572          <p>${n("step1.description.para1")}</p>
573          <p>${n("step1.description.para2")}</p>
574        </div>
575      </div>
576
577      <!-- Type Selection -->
578      <div class="form-field">
579        <div class="text-center selection-header">
580          <h3>${n("step1.typeSelection.title")}</h3>
581          <p>${n("step1.typeSelection.description")}</p>
582        </div>
583        <div class="selection-buttons">
584          <button type="button" class="btn-selection ${u({active:this.sponsorshipType===_.SPONSORSHIP})}" part="btn-selection ${this.sponsorshipType===_.SPONSORSHIP?"active":""}" @click=${()=>this.handleTypeSelection("sponsorship",_.SPONSORSHIP)}>
585            ${n("step1.typeSelection.sponsorship")}
586          </button>
587          <button type="button" class="btn-selection ${u({active:this.sponsorshipType===_.DONATION})}" part="btn-selection ${this.sponsorshipType===_.DONATION?"active":""}" @click=${()=>this.handleTypeSelection("donation",_.DONATION)}>
588            ${n("step1.typeSelection.donation")}
589          </button>
590        </div>
591      </div>
592
593      <!-- Entity Selection -->
594      <div class="form-field">
595        <div class="text-center selection-header">
596          <h3>${n("step1.entitySelection.title")}</h3>
597          <p>${n("step1.entitySelection.description")}</p>
598        </div>
599        <div class="selection-buttons">
600          <button type="button" class="btn-selection ${u({active:this.entityType===y.PHYSICAL})}" part="btn-selection ${this.entityType===y.PHYSICAL?"active":""}" @click=${()=>this.handleEntitySelection(y.PHYSICAL)}>
601            ${n("step1.entitySelection.physical")}
602          </button>
603          <button type="button" class="btn-selection ${u({active:this.entityType===y.LEGAL})}" part="btn-selection ${this.entityType===y.LEGAL?"active":""}" @click=${()=>this.handleEntitySelection(y.LEGAL)}>
604            ${n("step1.entitySelection.legal")}
605          </button>
606        </div>
607      </div>
608
609      <div class="form-actions" style="justify-content: center;">
610        <button type="button" class="btn-primary" part="primary-button" ?disabled=${!this.canProceedStep1()} @click=${this.nextStep}>
611          ${n("navigation.next")}
612        </button>
613      </div>
614    `}
614renderStep2(){return l`
615      <!-- Applicant Data -->
616      <div class="field-group">
617        <h4 class="field-group-title">${n("step2.applicantData.title")}</h4>
618        <p class="required-note">${n("step2.applicantData.requiredNote")}</p>
619
620        
621
622        ${this.renderEntitySpecificFields()}
623
624        <div class="form-field">
625          <label class="form-label">${n("step2.applicantData.country")} *</label>
626          <select class="form-select" .value=${this.formData.drzava||"SI"} @change=${e=>this.handleCountryChange(e.target.value)}>
627            <option value="SI" ?selected=${(this.formData.drzava||"SI")==="SI"}>Slovenija</option>
628            <option value="HR" ?selected=${this.formData.drzava==="HR"}>Hrvaška</option>
629          </select>
630        </div>
631
632        <div class="grid grid-cols-2">
633          <div class="form-field">
634            <label class="form-label">${n("step2.applicantData.postalCode")}${this.isSlovenia?" *":""}</label>
635            <input type="text" 
636              class="form-input ${u({error:!!this.errors.postna_stevilka})}" 
637              maxlength="${this.isSlovenia?"4":"20"}" 
638              .value=${this.formData.postna_stevilka||""} 
639              @input=${this.handlePostalCodeInput}
640              @keydown=${e=>{const t=e.target;if(this.isSlovenia&&e.key==="Backspace"){e.preventDefault(),t.value="",this.formData={...this.formData,postna_stevilka:"",posta:""},this.clearPostalCodeError(),this.requestUpdate();return}if(this.isSlovenia&&e.key.length===1&&/[0-9]/.test(e.key)){const o=e.target;if(o.selectionStart!==o.selectionEnd)return}}}
641            >
642            ${this.errors.postna_stevilka?l`<div class="error-message">${this.errors.postna_stevilka}</div>`:p}
643          </div>
644          <div class="form-field">
645            <label class="form-label">${n("step2.applicantData.city")} *</label>
646            <input type="text" class="form-input ${u({error:!!this.errors.posta})}" ?readonly=${this.isSlovenia} .value=${this.formData.posta||""} @input=${e=>this.handleInputChange("posta",e.target.value)}>
647            ${this.errors.posta?l`<div class="error-message">${this.errors.posta}</div>`:p}
648          </div>
649        </div>
650      </div>
651
652      <!-- Contact Data -->
653      <div class="field-group">
654        <h4 class="field-group-title">${n("step2.contactData.title")}</h4>
655        ${this.entityType===y.LEGAL?l`<div class="grid grid-cols-2">
656        <div class="form-field">
657          <label class="form-label">${n("step2.contactData.firstName")} *</label>
658          <input 
659            type="text" 
660            class="form-input ${u({error:!!this.errors.kontakt_ime})}" 
661            .value=${this.formData.kontakt_ime||""} 
662            @input=${e=>this.handleInputChange("kontakt_ime",e.target.value)}>
663          ${this.errors.kontakt_ime?l`<div class="error-message">${this.errors.kontakt_ime}</div>`:p}
664        </div>
665        <div class="form-field">
666          <label class="form-label">${n("step2.contactData.lastName")} *</label>
667          <input 
668            type="text" 
669            class="form-input ${u({error:!!this.errors.kontakt_priimek})}" 
670            .value=${this.formData.kontakt_priimek||""} 
671            @input=${e=>this.handleInputChange("kontakt_priimek",e.target.value)}>
672          ${this.errors.kontakt_priimek?l`<div class="error-message">${this.errors.kontakt_priimek}</div>`:p}
673        </div>
674      </div>`:p}
675        <div class="grid grid-cols-2">
676          <div class="form-field">
677            <label class="form-label">${n("step2.contactData.email")} *</label>
678            <input type="email" class="form-input ${u({error:!!this.errors.email})}" .value=${this.formData.email||""} @input=${e=>this.handleInputChange("email",e.target.value)}>
679            ${this.errors.email?l`<div class="error-message">${this.errors.email}</div>`:p}
680          </div>
681          <div class="form-field">
682            <label class="form-label">${n("step2.contactData.phone")} *</label>
683            <input type="tel" class="form-input ${u({error:!!this.errors.telefon})}" .value=${this.formData.telefon||""} @input=${e=>this.handleInputChange("telefon",e.target.value)}>
684            ${this.errors.telefon?l`<div class="error-message">${this.errors.telefon}</div>`:p}
685          </div>
686        </div>
687      </div>
688
689      <!-- Project Data -->
690      <div class="field-group">
691        <h4 class="field-group-title">${n("step2.projectData.title")}</h4>
692        <div class="form-field">
693          <label class="form-label">${n("step2.projectData.projectName")} *</label>
694          <input type="text" class="form-input ${u({error:!!this.errors.naziv_projekta})}" .value=${this.formData.naziv_projekta||""} @input=${e=>this.handleInputChange("naziv_projekta",e.target.value)}>
695          ${this.errors.naziv_projekta?l`<div class="error-message">${this.errors.naziv_projekta}</div>`:p}
696        </div>
697        
698        <div class="grid grid-cols-2">
699          <div class="form-field">
700            <label class="form-label">${n("step2.projectData.startDate")} *</label>
701            <input type="date" class="form-input ${u({error:!!this.errors.datum_projekta})}" .value=${this.formData.datum_projekta||""} @input=${e=>this.handleInputChange("datum_projekta",e.target.value)}>
702            ${this.errors.datum_projekta?l`<div class="error-message">${this.errors.datum_projekta}</div>`:p}
703          </div>
704          <div class="form-field">
705            <label class="form-label">${n("step2.projectData.endDate")} *</label>
706            <input type="date" class="form-input ${u({error:!!this.errors.datum_projekta_do})}" .value=${this.formData.datum_projekta_do||""} @input=${e=>this.handleInputChange("datum_projekta_do",e.target.value)}>
707            ${this.errors.datum_projekta_do?l`<div class="error-message">${this.errors.datum_projekta_do}</div>`:p}
708          </div>
709        </div>
710
711        <div class="form-field">
712          <label class="form-label">${n("step2.projectData.description")} *</label>
713          <textarea class="form-textarea ${u({error:!!this.errors.opis_projekta})}" maxlength="1500" .value=${this.formData.opis_projekta||""} @input=${e=>{const t=e.target.value;this.handleTextareaChange("opis_projekta",t,1500)}}></textarea>
714          <div class="character-count ${u({warning:(this.characterCounts.opis_projekta||0)>1350,danger:(this.characterCounts.opis_projekta||0)>=1500})}">
715            ${this.characterCounts.opis_projekta||0}/1500
716          </div>
717          ${this.errors.opis_projekta?l`<div class="error-message">${this.errors.opis_projekta}</div>`:p}
718        </div>
719
720        <div class="form-field">
721          <label class="form-label">${n("step2.projectData.esgDescriptionEnable")}</label>
722          <select class="form-select" .value=${this.formData.opis_projekta_esg_enabled||""} @change=${e=>this.handleInputChange("opis_projekta_esg_enabled",e.target.value)}>
723            <option value="NE">${n("step2.projectData.esgDescriptionEnableNO")}</option>
724            <option value="DA">${n("step2.projectData.esgDescriptionEnableYES")}</option>
725          </select>
726        </div>
727
728        ${this.formData.opis_projekta_esg_enabled==="DA"?l`<div class="form-field">
729          <label class="form-label">${n("step2.projectData.esgDescription")} *</label>
730          <textarea class="form-textarea ${u({error:!!this.errors.opis_projekta_esg})}" maxlength="1500" .value=${this.formData.opis_projekta_esg||""} @input=${e=>{const t=e.target.value;this.handleTextareaChange("opis_projekta_esg",t,1500)}}></textarea>
731          <div class="character-count ${u({warning:(this.characterCounts.opis_projekta_esg||0)>1350,danger:(this.characterCounts.opis_projekta_esg||0)>=1500})}">
732            ${this.characterCounts.opis_projekta_esg||0}/1500
733          </div>
734          ${this.errors.opis_projekta_esg?l`<div class="error-message">${this.errors.opis_projekta_esg}</div>`:p}
735        </div>`:p}
736
737        <div class="form-field">
738          <label class="form-label">${n("step2.projectData.amount")} *</label>
739          <input type="number" class="form-input ${u({error:!!this.errors.predlagan_znesek})}" min="0" step="0.01" .value=${this.formData.predlagan_znesek||""} @input=${e=>this.handleInputChange("predlagan_znesek",e.target.value)}>
740          ${this.errors.predlagan_znesek?l`<div class="error-message">${this.errors.predlagan_znesek}</div>`:p}
741        </div>
742
743      </div>
744      <div class="field-group">
745        <h4 class="field-group-title">${n("step2.projectData.socialProfilesTitle")}</h4>
746        <div class="grid grid-cols-2">
747          <div class="form-field">
748            <label class="form-label">${n("step2.projectData.website")}</label>
749            <input class="form-input" .value=${this.formData.spletna_stran||""}>
750          </div>
751          <div class="form-field">
752            <label class="form-label">${n("step2.projectData.facebook")}</label>
753            <input class="form-input" .value=${this.formData.facebook||""}>
754          </div>
755        </div>
756        <div class="grid grid-cols-2">
757          <div class="form-field">
758            <label class="form-label">${n("step2.projectData.instagram")}</label>
759            <input class="form-input" .value=${this.formData.instagram||""}>
760          </div>
761          <div class="form-field">
762            <label class="form-label">${n("step2.projectData.youtube")}</label>
763            <input class="form-input" .value=${this.formData.youtube||""}>
764          </div>
765        </div>
766        <div class="grid grid-cols-2">
767          <div class="form-field">
768            <label class="form-label">${n("step2.projectData.linkedin")}</label>
769            <input class="form-input" .value=${this.formData.linkedin||""}>
770          </div>
771          <div class="form-field">
772            <label class="form-label">${n("step2.projectData.tiktok")}</label>
773            <input class="form-input" .value=${this.formData.tiktok||""}>
774          </div>
775        </div>
776      </div>
777
778      <div class="selected-type-display">
779        <p>${n("step2.selectedType")} <span class="type-value">${this.sponsorshipType===_.SPONSORSHIP?n("step1.typeSelection.sponsorship"):n("step1.typeSelection.donation")}</span></p>
780      </div>
781
782      <div class="form-actions">
783        <button type="button" class="btn-primary btn-outline" part="outline-button" @click=${this.previousStep}>${n("navigation.back")}</button>
784        <button type="button" class="btn-primary" part="primary-button" @click=${this.nextStep}>${n("navigation.next")}</button>
785      </div>
786    `}renderStep3(){return l`
787      <div class="field-group">
788        <h4 class="field-group-title">${n("step3.projectField.title")}</h4>
789        <div class="form-field">
790          <label class="form-label">${n("step3.projectField.selectField")} *</label>
791          <select class="form-select ${u({error:!!this.errors.podrocje})}" .value=${this.formData.podrocje||""} @change=${e=>this.handleInputChange("podrocje",e.target.value)}>
792            <option value="">${n("step3.projectField.selectField")}</option>
793            <option value="sport">${n("step3.projectField.options.sport")}</option>
794            <option value="kultura">${n("step3.projectField.options.culture")}</option>
795            <option value="izobrazevanje">${n("step3.projectField.options.education")}</option>
796            <option value="humanitarnost">${n("step3.projectField.options.humanitarian")}</option>
797            <option value="trajnost">${n("step3.projectField.options.sustainability")}</option>
798            <option value="drugo">${n("step3.projectField.options.other")}</option>
799          </select>
800          ${this.errors.podrocje?l`<div class="error-message">${this.errors.podrocje}</div>`:p}
801        </div>
802
803        ${this.formData.podrocje==="drugo"?l`
804          <div class="form-field">
805            <label class="form-label">${n("step3.projectField.customField")} *</label>
806            <input type="text" class="form-input ${u({error:!!this.errors.drugo_podrocje})}" .value=${this.formData.drugo_podrocje||""} @input=${e=>this.handleInputChange("drugo_podrocje",e.target.value)}>
807            ${this.errors.drugo_podrocje?l`<div class="error-message">${this.errors.drugo_podrocje}</div>`:p}
808          </div>
809        `:p}
810      </div>
811
812      ${this.sponsorshipType===_.SPONSORSHIP?l`
813        <div class="field-group">
814          <h4 class="field-group-title">${n("step3.marketing.title")}</h4>
815          <div class="form-field">
816            <label class="form-label">${n("step3.marketing.channels")} *</label>
817            <textarea class="form-textarea ${u({error:!!this.errors.nacin_oglasevanja})}" maxlength="2000" placeholder="${n("step3.marketing.placeholder")}" .value=${this.formData.nacin_oglasevanja||""} @input=${e=>{const t=e.target.value;this.handleTextareaChange("nacin_oglasevanja",t,2e3)}}></textarea>
818            <div class="character-count ${u({warning:(this.characterCounts.nacin_oglasevanja||0)>1800,danger:(this.characterCounts.nacin_oglasevanja||0)>=2e3})}">
819              ${this.characterCounts.nacin_oglasevanja||0}/2000
820            </div>
821            ${this.errors.nacin_oglasevanja?l`<div class="error-message">${this.errors.nacin_oglasevanja}</div>`:p}
822          </div>
823        </div>
824      `:p}
825
826      <div class="field-group">
827        <div class="form-field">
828          <label class="form-label">
828${n("step3.additionalMessage.title")}</label>
829          <textarea class="form-textarea" maxlength="500" .value=${this.formData.dodatno_sporocilo||""} @input=${e=>{const t=e.target.value;this.handleTextareaChange("dodatno_sporocilo",t,500)}}></textarea>
830          <div class="character-count ${u({warning:(this.characterCounts.dodatno_sporocilo||0)>450,danger:(this.characterCounts.dodatno_sporocilo||0)>=500})}">
831            ${this.characterCounts.dodatno_sporocilo||0}/500
832          </div>
833        </div>
834      </div>
835
836      <file-upload .selectedFiles=${this.selectedFiles} @files-changed=${e=>this.selectedFiles=e.detail.files}></file-upload>
837
838      <div class="gdpr-consent">
839        <div class="consent-wrapper">
840          <input type="checkbox" id="gdpr_consent" .checked=${this.formData.gdpr_consent==="true"} @change=${e=>this.handleInputChange("gdpr_consent",e.target.checked.toString())}>
841          <label for="gdpr_consent">
842            ${n("step3.gdpr.agreement")} 
843            <button type="button" class="gdpr-link" @click=${this.openGdprModal}>${n("step3.gdpr.terms")}</button>.
844          </label>
845        </div>
846        ${this.errors.gdpr_consent?l`<div class="error-message">${this.errors.gdpr_consent}</div>`:p}
847      </div>
848
849      <div class="form-actions">
850        <button type="button" class="btn-primary btn-outline" part="outline-button" @click=${this.previousStep}>${n("navigation.back")}</button>
851        <button type="submit" class="btn-primary" part="primary-button" ?disabled=${this.isSubmitting||this.formData.gdpr_consent!=="true"}>
852          ${this.isSubmitting?n("navigation.submitting"):n("navigation.submit")}
853        </button>
854      </div>
855    `}renderEntitySpecificFields(){return this.entityType===y.PHYSICAL?l`
856        <div class="grid grid-cols-2">
857        <div class="form-field">
858          <label class="form-label">${n("step2.applicantData.firstName")} *</label>
859          <input 
860            type="text" 
861            class="form-input ${u({error:!!this.errors.ime})}" 
862            .value=${this.formData.ime||""} 
863            @input=${e=>this.handleInputChange("ime",e.target.value)}>
864          ${this.errors.ime?l`<div class="error-message">${this.errors.ime}</div>`:p}
865        </div>
866        <div class="form-field">
867          <label class="form-label">${n("step2.applicantData.lastName")} *</label>
868          <input 
869            type="text" 
870            class="form-input ${u({error:!!this.errors.priimek})}" 
871            .value=${this.formData.priimek||""} 
872            @input=${e=>this.handleInputChange("priimek",e.target.value)}>
873          ${this.errors.priimek?l`<div class="error-message">${this.errors.priimek}</div>`:p}
874        </div>
875      </div>
876        <div class="form-field">
877          <label class="form-label">${n("step2.applicantData.address")} *</label>
878          <input type="text" class="form-input ${u({error:!!this.errors.naslov})}" .value=${this.formData.naslov||""} @input=${e=>this.handleInputChange("naslov",e.target.value)}>
879          ${this.errors.naslov?l`<div class="error-message">${this.errors.naslov}</div>`:p}
880        </div>
881      `:this.entityType===y.LEGAL?l`
882          <div class="form-field">
883            <label class="form-label">${n("step2.applicantData.organizationName")} *</label>
884            <input type="text" class="form-input ${u({error:!!this.errors.naziv_organizacije})}" .value=${this.formData.naziv_organizacije||""} @input=${e=>this.handleInputChange("naziv_organizacije",e.target.value)}>
885            ${this.errors.naziv_organizacije?l`<div class="error-message">${this.errors.naziv_organizacije}</div>`:p}
886          </div>
887          <div class="form-field">
888            <label class="form-label">${n("step2.applicantData.organizationAddress")} *</label>
889            <input type="text" class="form-input ${u({error:!!this.errors.naslov_organizacije})}" .value=${this.formData.naslov_organizacije||""} @input=${e=>this.handleInputChange("naslov_organizacije",e.target.value)}>
890            ${this.errors.naslov_organizacije?l`<div class="error-message">${this.errors.naslov_organizacije}</div>`:p}
891          </div>
892
893        <div class="grid grid-cols-2">
894          <div class="form-field">
895            <label class="form-label">
895${n("step2.applicantData.taxNumber")} *</label>
896            <input type="text" class="form-input ${u({error:!!this.errors.davcna_stevilka})}" .value=${this.formData.davcna_stevilka||""} @input=${e=>this.handleInputChange("davcna_stevilka",e.target.value)}>
897            ${this.errors.davcna_stevilka?l`<div class="error-message">${this.errors.davcna_stevilka}</div>`:p}
898          </div>
899          <div class="form-field">
900            <label class="form-label">${n("step2.applicantData.taxPayer")} *</label>
901            <select class="form-select ${u({error:!!this.errors.davcni_zavezanec})}" .value=${this.formData.davcni_zavezanec||""} @change=${e=>this.handleInputChange("davcni_zavezanec",e.target.value)}>
902              <option value="">${n("options.selectPlaceholder")}</option>
903              <option value="da">${n("options.yes")}</option>
904              <option value="ne">${n("options.no")}</option>
905            </select>
906            ${this.errors.davcni_zavezanec?l`<div class="error-message">${this.errors.davcni_zavezanec}</div>`:p}
907          </div>
908        </div>
909      `:p}renderSuccessView(){return l`
910    <div class="success-view">
911      <div class="success-card">
912        <!-- Success Icon -->
913        <div class="success-icon-wrapper">
914          <svg class="success-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24">
915            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
916          </svg>
917        </div>
918
919        <!-- Success Message -->
920        <div class="success-message">
921          <h2>${n("success.title")}</h2>
922          <p>${n("success.thankYou")}</p>
923        </div>
924
925        <!-- Process Information -->
926        <div class="process-info">
927          <h3>${n("success.whatNext.title")}</h3>
928
929          <div class="process-steps">
930            <div class="process-step">
931              <div class="step-number">1</div>
932              <div class="step-content">
933                <h4>${n("success.whatNext.step1.title")}</h4>
934                <p>${n("success.whatNext.step1.description")}</p>
935              </div>
936            </div>
937
938            <div class="process-step">
939              <div class="step-number">2</div>
940              <div class="step-content">
941                <h4>${n("success.whatNext.step2.title")}</h4>
942                <p>${n("success.whatNext.step2.description")}</p>
943              </div>
944            </div>
945
946            <div class="process-step">
947              <div class="step-number">3</div>
948              <div class="step-content">
949                <h4>${n("success.whatNext.step3.title")}</h4>
950                <p>${n("success.whatNext.step3.description")}</p>
951              </div>
952            </div>
953          </div>
954        </div>
955
956        <!-- Timeline Information -->
957        <div class="timeline-info">
958          <div class="timeline-header">
959            <svg class="timeline-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24">
960              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path>
961            </svg>
962            <h3>${n("success.timeline.title")}</h3>
963          </div>
964          <p>
965            <strong>${n("success.timeline.description")}</strong> ${n("success.timeline.note")!=="success.timeline.note"?n("success.timeline.note"):""}
966          </p>
967        </div>
968
969        <!-- Contact Information -->
970        <div class="contact-section">
971          <h3>${n("success.contact.title")}</h3>
972          <p>${n("success.contact.description")}</p>
973
974          <div class="contact-links">
975            <a href="mailto:${n("success.contact.email")}" class="contact-link">
976              <svg class="contact-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24">
977                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
978              </svg>
979              ${n("success.contact.email")}
980            </a>
981
982            ${n("success.contact.phone")!=="success.contact.phone"?l`
983              <a href="tel:${n("success.contact.phone").replace(/\s/g,"")}" class="contact-link">
984                <svg class="contact-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24">
985                  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 
98511.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path>
986                </svg>
987                ${n("success.contact.phone")}
988              </a>
989            `:p}
990          </div>
991        </div>
992
993        <!-- Reference Number -->
994        <div class="reference-section">
995          <p>
996            <strong>${n("success.reference.label")}</strong> 
997            <span class="reference-number">#${this.successReferenceNumber}</span>
998            <br />
999            <em>${n("success.reference.note")}</em>
1000          </p>
1001        </div>
1002
1003        <!-- New Application Button -->
1004        <div style="margin-top: 2rem; text-align: center;">
1005          <button
1006            type="button"
1007            class="btn-primary"
1008            @click=${this.startNewApplication}>
1009            ${n("success.newApplication")}
1010          </button>
1011        </div>
1012      </div>
1013    </div>
1014  `}},d.SponsorshipForm.styles=q`
1015    :host {
1016      --primary-color: 59 130 246;
1017      --primary-hover: 37 99 235;
1018      --border-color: 229 231 235;
1019      --text-color: 31 41 55;
1020      --background: 255 255 255;
1021      --error-color: 239 68 68;
1022      --success-color: 34 197 94;
1023      --font-family-primary: system-ui, -apple-system, sans-serif;
1024      --font-family-secondary: var(--font-family-primary);
1025      --border-radius: 0.5rem;
1026      --border-radius-lg: 0.75rem;
1027      --shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
1028      --shadow-lg: 0 25px 50px -12px rgb(0 0 0 / 0.25);
1029      
1030      display: block;
1031      font-family: var(--font-family-primary);
1032      width: 100%;
1033    }
1034
1035    /* Remove container constraints - form should be full width */
1036    .form-content {
1037      width: 100%;
1038    }
1039
1040    /* Button styles */
1041    .btn-primary {
1042      background-color: rgb(var(--primary-color));
1043      color: white;
1044      border: 1px solid rgb(var(--primary-color));
1045      border-radius: var(--border-radius);
1046      padding: 0.75rem 2rem;
1047      font-size: 0.875rem;
1048      font-weight: 500;
1049      font-family: var(--font-family-primary);
1050      cursor: pointer;
1051      transition: all 0.2s ease;
1052      display: inline-flex;
1053      align-items: center;
1054      justify-content: center;
1055      gap: 0.5rem;
1056      text-decoration: none;
1057    }
1058
1059    .btn-primary:hover:not(:disabled) {
1060      background-color: rgb(var(--primary-hover));
1061      transform: scale(1.05);
1062      box-shadow: var(--shadow-lg);
1063    }
1064
1065    .btn-primary:disabled {
1066      opacity: 0.5;
1067      cursor: not-allowed;
1068      transform: none;
1069    }
1070
1071    .btn-outline {
1072      background: transparent;
1073      color: rgb(var(--primary-color));
1074      border: 1px solid rgb(var(--primary-color));
1075    }
1076
1077    .btn-outline:hover:not(:disabled) {
1078      background: rgb(var(--primary-color) / 0.05);
1079    }
1080
1081    .btn-selection {
1082      background: rgb(var(--background));
1083      color: rgb(var(--text-color));
1084      border: 1px solid rgb(var(--border-color));
1085      border-radius: 50px;
1086      padding: 0.75rem 1.5rem;
1087      font-size: 0.875rem;
1088      font-weight: 500;
1089      cursor: pointer;
1090      transition: all 0.2s ease;
1091      font-family: var(--font-family-primary);
1092    }
1093
1094    .btn-selection:hover {
1095      border-color: rgb(var(--primary-color));
1096      color: rgb(var(--primary-color));
1097      background: rgb(var(--primary-color) / 0.05);
1098    }
1099
1100    .btn-selection.active {
1101      background: rgb(var(--primary-color));
1102      border-color: rgb(var(--primary-color));
1103      color: white;
1104    }
1105
1106    /* Form field styles with proper box-sizing */
1107    .form-field {
1108      margin-bottom: 1.5rem;
1109    }
1110
1111    .form-label {
1112      display: block;
1113      font-size: 0.875rem;
1114      font-weight: 500;
1115      color: rgb(var(--text-color));
1116      margin-bottom: 0.5rem;
1117      font-family: var(--font-family-primary);
1118    }
1119
1120    .form-input,
1121    .form-select,
1122    .form-textarea {
1123      width: 100%;
1124      box-sizing: border-box; /* Fix for width issues */
1125      padding: 0.75rem 1rem;
1126      border: 1px solid rgb(var(--border-color));
1127      border-radius: var(--border-radius);
1128      font-size: 0.875rem;
1129      color: rgb(var(--text-color));
1130      background: rgb(var(--background));
1131      transition: all 0.2s ease;
1132      font-family: var(--font-family-primary);
1133    }
1134
1135    .form-input:focus,
1136    .form-select:focus,
1137    .form-textarea:focus {
1138      outline: none;
1139      border-color: rgb(var(--primary-color));
1140      box-shadow: 0 0 0 3px rgb(var(--primary-color) / 0.1);
1141    }
1142
1143    .form-input.error,
1144    .form-select.error,
1145    .form-textarea.error {
1146      border-color: rgb(var(--error-color));
1147      box-shadow: 0 0 0 3px rgb(var(--error-color) / 0.1);
1148    }
1149
1150    .form-textarea {
1151      min-height: 120px;
1152      resize: vertical;
1153      box-sizing: border-box;
1154    }
1155
1156    .error-message {
1157      color: rgb(var(--error-color));
1158      font-size: 0.75rem;
1159      margin-top: 0.25rem;
1160      font-family: var(--font-family-primary);
1161    }
1162
1163    .field-group-title {
1164      font-size: 1.125rem;
1165      font-weight: 600;
1166      color: rgb(var(--text-color));
1167      margin-bottom: 1rem;
1168      padding-bottom: 0.5rem;
1169      border-bottom: 1px solid rgb(var(--border-color));
1170      font-family: var(--font-family-secondary);
1171    }
1172
1173    .character-count {
1174      font-size: 0.75rem;
1175      color: rgb(var(--text-color) / 0.7);
1176      text-align: right;
1177      margin-top: 0.25rem;
1178      font-family: var(--font-family-primary);
1179    }
1180
1181    .character-count.warning {
1182      color: rgb(245 158 11);
1183    }
1184
1185    .character-count.danger {
1186      color: rgb(var(--error-color));
1187    }
1188
1189    /* Layout styles */
1190    .text-center {
1191      text-align: center;
1192    }
1193
1194    .grid {
1195      display: grid;
1196      gap: 1rem;
1197    }
1198
1199    .grid-cols-2 {
1200      grid-template-columns: repeat(2, 1fr);
1201    }
1202
1203    .hidden {
1204      display: none !important;
1205    }
1206
1207    .step-intro {
1208      margin-bottom: 2rem;
1209    }
1210
1211    .step-intro h2 {
1212      margin-bottom: 1rem;
1213      font-family: var(--font-family-secondary);
1214    }
1215
1216    .description {
1217      margin-bottom: 2rem;
1218      padding: 1rem;
1219    }
1220
1221    .description p {
1222      margin-bottom: 1rem;
1223    }
1224
1225    .selection-header {
1226      margin-bottom: 2rem;
1227    }
1228
1229    .selection-header h3 {
1230      margin-bottom: 1rem;
1231      font-family: var(--font-family-secondary);
1232    }
1233
1234    .selection-header p {
1235      margin-bottom: 1rem;
1236    }
1237
1238    .selection-buttons {
1239      display: flex;
1240      flex-wrap: wrap;
1241      gap: 1rem;
1242      justify-content: center;
1243      margin-bottom: 2rem;
1244    }
1245
1246    .form-actions {
1247      display: flex;
1248      flex-wrap: wrap;
1249      gap: 0.75rem;
1250      justify-content: space-between;
1251    }
1252
1253    .field-group {
1254      margin-bottom: 2rem;
1255    }
1256
1257    .required-note {
1258      font-size: 0.875rem;
1259      margin-bottom: 1.5rem;
1260      color: rgb(var(--text-color) / 0.7);
1261      font-family: var(--font-family-primary);
1262    }
1263
1264    .selected-type-display {
1265      margin-bottom: 2rem;
1266      padding: 1rem;
1267      background: rgb(var(--primary-color) / 0.05);
1268      border-radius: var(--border-radius);
1269    }
1270
1271    .selected-type-display p {
1272      font-size: 0.875rem;
1273      font-weight: 500;
1274      margin: 0;
1275    }
1276
1277    .type-value {
1278      font-weight: 600;
1279      color: rgb(var(--primary-color));
1280    }
1281
1282    .gdpr-consent {
1283      margin-bottom: 2rem;
1284    }
1285
1286    .consent-wrapper {
1287      display: flex;
1288      align-items: flex-start;
1289      gap: 0.75rem;
1290    }
1291
1292    .consent-wrapper input[type="checkbox"] {
1293      width: 1rem;
1294      height: 1rem;
1295      margin-top: 0.125rem;
1296    }
1297
1298    .consent-wrapper label {
1299      font-size: 0.875rem;
1300      cursor: pointer;
1301    }
1302
1303    .gdpr-link {
1304      color: rgb(var(--primary-color));
1305      text-decoration: underline;
1306      background: none;
1307      border: none;
1308      cursor: pointer;
1309      font-size: inherit;
1310    }
1311
1312    .gdpr-link:hover {
1313      text-decoration: none;
1314    }
1315
1316    /* Responsive design */
1317    @media (max-width: 768px) {
1318      .grid-cols-2 {
1319        grid-template-columns: 1fr;
1320      }
1321    }
1322
1323
1324/* Success View Styles */
1325.success-view {
1326  width: 100%;
1327  padding: 2rem 0;
1328}
1329
1330.success-card {
1331  background: transparent;
1332  padding: 0;
1333  text-align: center;
1334}
1335
1336.success-icon-wrapper {
1337  margin: 0 auto 1.5rem;
1338  width: 4rem;
1339  height: 4rem;
1340  border-radius: 50%;
1341  background: rgb(var(--success-color) / 0.1);
1342  display: flex;
1343  align-items: center;
1344  justify-content: center;
1345}
1346
1347.success-icon {
1348  width: 2rem;
1349  height: 2rem;
1350  color: rgb(var(--success-color));
1351}
1352
1353.success-message {
1354  margin-bottom: 2rem;
1355}
1356
1357.success-message h2 {
1358  font-size: 1.5rem;
1359  font-weight: 700;
1360  color: rgb(var(--text-color));
1361  margin-bottom: 1rem;
1362  font-family: var(--font-family-secondary);
1363}
1364
1365.success-message p {
1366  font-size: 1.125rem;
1367  line-height: 1.75;
1368  color: rgb(var(--text-color));
1369  font-family: var(--font-family-primary);
1370}
1371
1372.process-info {
1373  background: rgb(var(--background));
1374  border-radius: var(--border-radius);
1375  padding: 1.5rem;
1376  margin-bottom: 2rem;
1377  text-align: left;
1378}
1379
1380.process-info h3 {
1381  font-size: 1.125rem;
1382  font-weight: 600;
1383  color: rgb(var(--text-color));
1384  margin-bottom: 1rem;
1385  font-family: var(--font-family-secondary);
1386}
1387
1388.process-steps {
1389  display: flex;
1390  flex-direction: column;
1391  gap: 1rem;
1392}
1393
1394.process-step {
1395  display: flex;
1396  align-items: flex-start;
1397  gap: 0.75rem;
1398}
1399
1400.step-number {
1401  flex-shrink: 0;
1402  width: 2rem;
1403  height: 2rem;
1404  background: rgb(var(--primary-color));
1405  color: white;
1406  border-radius: 50%;
1407  display: flex;
1408  align-items: center;
1409  justify-content: center;
1410  font-size: 0.875rem;
1411  font-weight: 500;
1412  font-family: var(--font-family-secondary);
1413}
1414
1415.step-content {
1416  flex: 1;
1417  padding-top: 0.125rem;
1418}
1419
1420.step-content h4 {
1421  font-weight: 500;
1422  color: rgb(var(--text-color));
1423  margin: 0 0 0.25rem 0;
1424  font-family: var(--font-family-primary);
1425}
1426
1427.step-content p {
1428  font-size: 0.875rem;
1429  color: rgb(var(--text-color) / 0.8);
1430  margin: 0;
1431  font-family: var(--font-family-primary);
1432}
1433
1434.timeline-info {
1435  background: rgb(var(--primary-color) / 0.05);
1436  border: 1px solid rgb(var(--primary-color) / 0.2);
1437  border-radius: var(--border-radius);
1438  padding: 1.5rem;
1439  margin-bottom: 2rem;
1440}
1441
1442.timeline-header {
1443  display: flex;
1444  align-items: center;
1445  justify-content: center;
1446  margin-bottom: 1rem;
1447}
1448
1449.timeline-icon {
1450  width: 1.5rem;
1451  height: 1.5rem;
1452  color: rgb(var(--primary-color));
1453  margin-right: 0.5rem;
1454}
1455
1456.timeline-info h3 {
1457  font-size: 1.125rem;
1458  font-weight: 600;
1459  color: rgb(var(--text-color));
1460  font-family: var(--font-family-secondary);
1461  margin: 0;
1462}
1463
1464.timeline-info p {
1465  font-family: var(--font-family-primary);
1466  color: rgb(var(--text-color));
1467  margin: 0;
1468}
1469
1470.contact-section {
1471  border-top: 1px solid rgb(var(--border-color));
1472  padding-top: 1.5rem;
1473  margin-top: 2rem;
1474}
1475
1476.contact-section h3 {
1477  font-size: 1.125rem;
1478  font-weight: 600;
1479  color: rgb(var(--text-color));
1480  margin-bottom: 1rem;
1481  font-family: var(--font-family-secondary);
1482}
1483
1484.contact-section p {
1485  margin-bottom: 1rem;
1486  font-family: var(--font-family-primary);
1487  color: rgb(var(--text-color));
1488}
1489
1490.contact-links {
1491  display: flex;
1492  flex-direction: column;
1493  gap: 1rem;
1494  align-items: center;
1495}
1496
1497.contact-link {
1498  display: flex;
1499  align-items: center;
1500  color: rgb(var(--primary-color));
1501  text-decoration: none;
1502  transition: color 0.2s ease;
1503}
1504
1505.contact-link:hover {
1506  color: rgb(var(--primary-hover));
1507}
1508
1509.contact-icon {
1510  width: 1.25rem;
1511  height: 1.25rem;
1512  margin-right: 0.5rem;
1513}
1514
1515.reference-section {
1516  margin-top: 2rem;
1517  padding-top: 1.5rem;
1518  border-top: 1px solid rgb(var(--border-color));
1519}
1520
1521.reference-section p {
1522  font-size: 0.75rem;
1523  color: rgb(var(--text-color) / 0.8);
1524  font-family: var(--font-family-primary);
1525  margin: 0;
1526}
1527
1528.reference-section strong {
1529  font-weight: 600;
1530}
1531
1532.reference-number {
1533  color: rgb(var(--primary-color));
1534  font-weight: 600;
1535}
1536
1537.reference-section em {
1538  font-style: italic;
1539  color: rgb(var(--text-color) / 0.6);
1540}
1541
1542@media (min-width: 640px) {
1543  .contact-links {
1544    flex-direction: row;
1545    justify-content: center;
1546  }
1547}
1548
1549.form-input[readonly] {
1550  background-color: rgb(var(--border-color) / 0.1);
1551  cursor: not-allowed;
1552}
1553  `,b([k({type:String,attribute:"api-endpoint"})],d.SponsorshipForm.prototype,"apiEndpoint",2),b([k({type:String})],d.SponsorshipForm.prototype,"language",2),b([k({type:String,attribute:"success-redirect"})],d.SponsorshipForm.prototype,"successRedirect",2),b([k({type:String})],d.SponsorshipForm.prototype,"theme",2),b([k({type:String,attribute:"api-key"})],d.SponsorshipForm.prototype,"apiKey",2),b([k({type:String,attribute:"tenant-id"})],d.SponsorshipForm.prototype,"tenantId",2),b([j()],d.SponsorshipForm.prototype,"currentStep",2),b([j()],d.SponsorshipForm.prototype,"formData",2),b([j()],d.SponsorshipForm.prototype,"entityType",2),b([j()],d.SponsorshipForm.prototype,"sponsorshipType",2),b([j()],d.SponsorshipForm.prototype,"errors",2),b([j()],d.SponsorshipForm.prototype,"isSubmitting",2),b([j()],d.SponsorshipForm.prototype,"selectedFiles",2),b([j()],d.SponsorshipForm.prototype,"showGdprModal",2),b([j()],d.SponsorshipForm.prototype,"showErrorModal",2),b([j()],d.SponsorshipForm.prototype,"showSuccessModal",2),b([j()],d.SponsorshipForm.prototype,"showLoadingModal",2),b([j()],d.SponsorshipForm.prototype,"modalMessage",2),b([j()],d.SponsorshipForm.prototype,"characterCounts",2),b([j()],d.SponsorshipForm.prototype,"currentLanguage",2),b([j()],d.SponsorshipForm.prototype,"showSuccessView",2),b([j()],d.SponsorshipForm.prototype,"successReferenceNumber",2),d.SponsorshipForm=b([X("sponsorship-form")],d.SponsorshipForm),Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.