/* Decretando Disney — íconos SVG. Exporta window.DDIcons */
(function(){
  const M = "#E42083"; // magenta accent

  const S = ({size=28, stroke=2.4, color="currentColor", children, vb=64}) => (
    <svg width={size} height={size} viewBox={`0 0 ${vb} ${vb}`} fill="none"
      stroke={color} strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round">
      {children}
    </svg>
  );

  const Icons = {
    house: (p)=> <S {...p}>
      <path d="M11 28 L32 11 L53 28" />
      <path d="M16 26 V52 H48 V26" />
      <path d="M27 52 V38 H37 V52" />
    </S>,

    castle: (p)=> <S {...p}>
      {/* torres laterales */}
      <path d="M12 54 V30 l3-4 3 4 V54" />
      <path d="M46 54 V30 l3-4 3 4 V54" />
      {/* torre central */}
      <path d="M26 54 V22 l6-7 6 7 V54" />
      {/* base */}
      <path d="M9 54 H55" />
      {/* puerta */}
      <path d="M29 54 V44 a3 3 0 0 1 6 0 V54" />
      {/* bandera */}
      <path d="M32 15 V6" stroke={M} />
      <path d="M32 6 l8 3 -8 3" fill={M} stroke={M} />
      {/* almenas */}
      <path d="M26 26 h12" />
    </S>,

    globe: (p)=> <S {...p}>
      <circle cx="32" cy="32" r="21" />
      <ellipse cx="32" cy="32" rx="9" ry="21" />
      <path d="M11 32 H53" />
      <path d="M14 21 H50 M14 43 H50" />
      {/* banda Universal */}
      <path d="M9 36 H55" stroke={M} strokeWidth={(p&&p.stroke)||2.4} />
    </S>,

    hat: (p)=> <S {...p}>
      {/* ala ancha */}
      <ellipse cx="32" cy="40" rx="26" ry="8" />
      {/* copa */}
      <path d="M18 40 C18 24 21 18 32 18 C43 18 46 24 46 40" />
      {/* cinta */}
      <path d="M19 36 C24 40 40 40 45 36" stroke={M} />
    </S>,

    eiffel: (p)=> <S {...p}>
      <path d="M22 54 C26 36 30 22 32 8 C34 22 38 36 42 54" />
      <path d="M18 54 C24 48 40 48 46 54" />
      <path d="M25 38 H39" />
      <path d="M27 28 H37" />
      <path d="M32 8 V3" stroke={M} />
    </S>,

    liberty: (p)=> <S {...p}>
      {/* corona */}
      <path d="M24 21 l2-7 2 5 2-6 2 6 2-5 2 7" />
      {/* cabeza */}
      <circle cx="30" cy="26" r="4.5" />
      {/* cuerpo / túnica */}
      <path d="M26 31 C24 40 24 48 22 54 H38 C37 46 36 39 35 31" />
      {/* brazo + antorcha */}
      <path d="M33 28 L41 16" />
      <path d="M41 16 l3 2" />
      <path d="M40 13 c2-3 5-2 4 1 c-1 2-4 2-4-1Z" fill={M} stroke={M} />
      {/* base */}
      <path d="M18 54 H42" />
    </S>,

    pagoda: (p)=> <S {...p}>
      {/* techos */}
      <path d="M14 22 H50 L44 16 H20 Z" />
      <path d="M17 34 H47 L42 28 H22 Z" />
      <path d="M20 46 H44 L40 40 H24 Z" />
      {/* cuerpo / base */}
      <path d="M24 46 V54 H40 V46" />
      <path d="M30 54 V48 h4 v6" />
      {/* remate */}
      <path d="M32 16 V9" stroke={M} />
      <circle cx="32" cy="7" r="2" fill={M} stroke={M} />
    </S>,

    mountain: (p)=> <S {...p}>
      <path d="M6 50 L24 20 L34 36 L42 24 L58 50 Z" />
      {/* nieve */}
      <path d="M19 28 l5 -8 4 6 -3 2 -3 -2 Z" fill={M} stroke={M} />
      <path d="M48 38 l-6 -14 -4 6" />
      {/* sol */}
      <circle cx="47" cy="16" r="4" stroke={M} />
    </S>,

    arrow: (p)=> <S {...p} vb={24}>
      <path d="M5 12 H19 M13 6 l6 6 -6 6" />
    </S>,

    mail: (p)=> <S {...p}>
      <rect x="10" y="16" width="44" height="32" rx="5" />
      <path d="M12 20 L32 35 L52 20" />
    </S>,

    phone: (p)=> <S {...p}>
      <path d="M20 8 h8 l4 12 -6 4 c3 7 8 12 15 15 l4 -6 12 4 v8 c0 3-2 5-5 5 C40 56 8 24 7 13 c0-3 2-5 5-5Z" />
    </S>,

    instagram: (p)=> <S {...p}>
      <rect x="11" y="11" width="42" height="42" rx="12" />
      <circle cx="32" cy="32" r="9" />
      <circle cx="45" cy="19" r="2.6" fill={(p&&p.color)||"currentColor"} />
    </S>,

    sparkle: (p)=> <S {...p}>
      <path d="M32 8 C34 22 42 30 56 32 C42 34 34 42 32 56 C30 42 22 34 8 32 C22 30 30 22 32 8Z" fill={(p&&p.fill)||"none"} />
    </S>,

    check: (p)=> <S {...p} stroke={(p&&p.stroke)||4}>
      <path d="M14 33 L27 46 L50 19" />
    </S>,

    pin: (p)=> <S {...p}>
      <path d="M32 56 C20 42 14 33 14 24 a18 18 0 0 1 36 0 C50 33 44 42 32 56Z" />
      <circle cx="32" cy="24" r="6" />
    </S>,

    heart: (p)=> <S {...p}>
      <path d="M32 52 C12 38 8 28 12 20 c4-8 14-7 20 1 c6-8 16-9 20-1 c4 8 0 18-20 32Z" />
    </S>,

    star: (p)=> <S {...p}>
      <path d="M32 8 l7 16 17 2 -13 12 4 17 -15 -9 -15 9 4 -17 -13 -12 17 -2Z" fill={(p&&p.fill)||"none"} />
    </S>
  };

  window.DDIcons = Icons;
})();
